我正在尝试通过组合跨1列的行数据单元格来改变(连接,重塑形状,我不确定哪种单词适合此情况)该行中的其他列相同。
基本上,我有这样的东西:
>df
>Person_id System_id Category Type Tag
>1A 134 1 Chr Question
>1A 134 1 Chr Answer
>1A 134 1 Chr Evaluation
>1A 134 1 Chr Overall
>1A 134 1 Chr Analysis
>Z4 002 1 Chr Question
>Z4 002 1 Chr Answer
并使它看起来像这样:
>Person_id System_id Category Type Tag
>1A 134 1 Chr Question, Answer, Evaluation, Overall, Analysis
>Z4 002 1 Chr Question, Answer
标签不必用逗号分隔,空格可以。在哪里寻找这样的解决方案的任何想法都会有所帮助。
谢谢。
您可以将paste0
与collapse = ", "
结合使用以实现这一点:
library(dplyr)
group_cols <- c("Person_id", "System_id", "Category", "Type")
df %>%
group_by(!!!syms(group_cols)) %>%
summarise(Tag = paste0(Tag, collapse = ", "))
#Person_id System_id Category Type Tag
# <chr> <int> <int> <chr> <chr>
#1 1A 134 1 Chr Question, Answer, Evaluation, Overall, Analysis
#2 Z4 2 1 Chr Question, Answer
我们可以将前四列和[Tag]元素按paste
分组