合并行并根据另一列保留值

埃克斯

我从许多调查中得到了数据。可以使用更新的值多次发送每个调查。对于数据集中的每个调查/行,都有一个提交(创建)调查的日期。我想合并每个调查的行,并保留第一个调查的日期,但保留上次调查的其他数据。

一个简单的例子:

#>   survey    created var1 var2
#> 1     s1 2020-01-01   10   30
#> 2     s2 2020-01-02   10   90
#> 3     s2 2020-01-03   20   20
#> 4     s3 2020-01-01   45    5
#> 5     s3 2020-01-02   50   50
#> 6     s3 2020-01-03   30   10

所需结果:

#>   survey    created var1 var2
#> 1     s1 2020-01-01   10   30
#> 2     s2 2020-01-02   20   20
#> 3     s3 2020-01-01   30   10

示例数据:

df <- data.frame(survey = c("s1", "s2", "s2", "s3", "s3", "s3"),
                created = as.POSIXct(c("2020-01-01", "2020-01-02", "2020-01-03", "2020-01-01", "2020-01-02", "2020-01-03"), "%Y-%m-%d", tz = "GMT"),
                var1 = c(10, 10, 20, 45, 50, 30),
                var2 = c(30, 90, 20, 5, 50, 10),
                stringsAsFactors=FALSE)

我尝试group_bysummarize不同的方法,但无法使其正常工作,任何帮助将不胜感激!

阿克伦

按“调查”分组后,将“已创建”更改为“已创建”中的firstmin值,然后更改slice最后一行(n()

library(dplyr)
df %>% 
   group_by(survey) %>% 
   mutate(created = as.Date(first(created))) %>% 
   slice(n())
# A tibble: 3 x 4
# Groups:   survey [3]
#  survey created     var1  var2
#  <chr>  <date>     <dbl> <dbl>
#1 s1     2020-01-01    10    30
#2 s2     2020-01-02    20    20
#3 s3     2020-01-01    30    10

或使用 base R

transform(df, created = ave(created, survey, FUN = first)
         )[!duplicated(df$survey, fromLast = TRUE),]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据多个条件合并行,然后对一列求和

来自分类Dev

根据另一列更改一列的值

来自分类Dev

根据另一列的值添加一列

来自分类Dev

SQL根据另一列合并列

来自分类Dev

根据第一列的值合并多列

来自分类Dev

根据另一列的条件值绘制列的值?

来自分类Dev

根据R中另一个值的频率,将一列中的多行值合并

来自分类Dev

熊猫分组并保留另一列的值

来自分类Dev

如何根据另一列中的值填充另一列中的值?

来自分类Dev

根据一列值将多行合并为单行

来自分类Dev

按一列合并行

来自分类Dev

根据与另一列不同的值对值进行计数

来自分类Dev

熊猫,根据另一列的值减去值

来自分类Dev

根据与另一列的比较,用引号分隔符“ |”合并一行中的值

来自分类Dev

根据另一列中的条件过滤非NA值,并保留所有其他记录

来自分类Dev

SQL根据另一列的值选择列

来自分类Dev

根据Postgres中的另一列设置列的值?

来自分类Dev

猪根据另一列中的值添加列

来自分类Dev

根据另一列从列中检索值

来自分类Dev

根据R中另一列的值选择列

来自分类Dev

根据另一列的值填充CSV列

来自分类Dev

根据另一列查找通用列值

来自分类Dev

根据另一列的值创建新列

来自分类Dev

熊猫根据另一列的值移动列数据

来自分类Dev

根据另一列的值查询列

来自分类Dev

根据另一列熊猫的值添加新列

来自分类Dev

根据另一列的值更改相邻列的值

来自分类Dev

根据另一列的值创建新列

来自分类Dev

pandas - 根据另一列更改列中的值