如何在R中的数据框中跨多行合并特定数据

问题描述 投票:0回答:2

我正在尝试通过组合跨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

标签不必用逗号分隔,空格可以。在哪里寻找这样的解决方案的任何想法都会有所帮助。

谢谢。

r dataframe dplyr reshape
2个回答
0
投票

您可以将paste0collapse = ", "结合使用以实现这一点:

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

0
投票

我们可以将前四列和[Tag]元素按paste分组

© www.soinside.com 2019 - 2024. All rights reserved.