我有一个独特的问题,我正在尝试解决。在列表中分组数据帧
我有一个数据表,其中包含几个不同类型的信息。 示例波纹管。
ID|inpSeq|Act |User |Representing
--|----- |----|---- |-----
1 | 123 | s | ABC | NA
1 | 124 | s | ABC | NA
1 | 125 | c | ABC | x1
1 | 126 | c | XYZ | x2
1 | 127 | d | ABC | x2
我所试图做的是组织的数据,以便查看如何“用户”是指“Repres”
换句话说,我希望建立以下输出
ID|Act |User|....
--|------|----|----|----
1 | sscd | ABC| x1 | x2.....
1 | c | XYZ| x2.....
因此,您可以看到原始表格被压缩到“用户”中心视图中,而“行为”现在包含用户在单个ID上执行的所有活动。
此外,我有一个这个活动进行了整理,我需要(动态地,如果不同)显示谁代表他们执行活动。这表示为x1,x2 ......这意味着这可以增长,这取决于每个ID /动作/用户组合对于唯一的“代表”各方的可能性如何。
需要注意的重要一点是Act字段中的“s”值在代表字段中始终为NA。所以在那些NA中不需要包含在转换后的视图中。
现在为止我能得到的代码ID|Act|User
部分想通了,通过使用下面的代码
aggregate(Act~ID+User, paste, collapse="", data=df)
但我需要弄清楚如何做休息。那是我需要你所有帮助的地方。
P.S. “inpSeq”字段是由外部应用程序按顺序创建的唯一数字字段,它允许按正确的顺序排列活动。
你可能要考虑在'了'nest'功能tidyr'它允许在数据帧的单个细胞值的列表。请参阅:https://blog.rstudio.org/2016/02/02/tidyr-0-4-0/。 –