sample_data <- data.frame(id = c("123abc", "def456", "789ghi", "123abc"),
some_str = c("carrots", "bananas", "apples", "cabbage"))
我想知道如何将样本df弄成这样:
desired_df <- data.frame(id = c("123abc", "def456", "789ghi"),
some_str_concat = c("carrots, cabbage", "bananas", "apples"))
每个ID可能会出现多次。在那种情况下,我想从some_str中获取相应的值并连接到一个新功能中,其中新的df分组在id上。
在上面的示例中,id 123abc出现了两次。首先使用“胡萝卜”值,然后使用“苹果”值。因此,所需的数据帧对于abc123具有一行,其值为“胡萝卜,卷心菜”。
我该怎么做?理想情况是在r或dplyr基中。
答案 0 :(得分:0)
sample_data %>%
+ group_by(id) %>%
+ mutate(some_str = paste(some_str, collapse = ", ")) %>%
+ distinct()