小编use*_*195的帖子

R:高效的数据帧拆分应用(连接)

我希望得到一些专家建议,以有效的方式删除一列中的数据帧行(columnA),其中存在重复值,同时创建一个新变量,连接另一列(columnB)的条目其中columnA有重复项.下面我提供一个玩具数据框:

my_df <- data.frame('DateTime' = c('2017/05/05 08:30:00', '2017/05/05 08:30:00', 
                               '2017/05/05 08:30:00', '2017/12/08 08:30:00',
                              '2018/01/15 18:50:00', '2017/12/20 21:46:00',
                              '2017/11/12 18:50:00', '2017/11/03 08:30:00',
                              '2017/11/03 08:30:00', '2017/12/03 08:30:00'),
                     'Event' = c('A', 'B', 'C', 'A', 'A', 'B', 'C', 'A', 'B', 'A'),
                     'Var1' = rnorm(10),
                     stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

在此数据框中,DateTime列是一个字符列,2017/05/08 08:30:00出现3次,而2017/11/03 08:30:00出现两次.我的目标是折叠有重复项的行,DateTime并有一个连接Event条目的新列.所以新栏目,AllEvents应该有A-B-C2017/05/05 08:30:00行的参赛作品.对于行2017/11/03 08:30:00中的DateTimeAllEvents应该具有值A-B.最后,对于所有其他行,AllEvents应匹配Event列.

我的尝试似乎非常笨重.

我首先提取DateTime的唯一值,其中有多个entr:

require(dplyr)
duped_datetime <- unique(my_df[duplicated(my_df$DateTime), 'DateTime'])
Run Code Online (Sandbox Code Playgroud)

然后,我将my_df子集化,以提取存在重复项的条目

subset_df <- my_df[my_df$DateTime %in% duped_datetime,]
Run Code Online (Sandbox Code Playgroud)

接下来,我创建一个连接向量的函数: …

r concatenation dplyr

1
推荐指数
1
解决办法
85
查看次数

标签 统计

concatenation ×1

dplyr ×1

r ×1