【发布时间】:2016-03-13 23:50:58
【问题描述】:
我无法以我需要的方式处理数据。采取以下示例数据框:
df <- data.frame(id=factor(c(1,1,1,2,2,3)), person=c('P1','P2','P3','P4','P1','P3'))
id person
1 1 P1
2 1 P2
3 1 P3
4 2 P4
5 2 P1
6 3 P3
我想生成一个数据框,其中包含每个id 中每个可能的person 对,所有 包括独特的排列(即P1-P2 和P2- P1 是唯一的)。例如:
id person1 person2
1 1 P1 P2
2 1 P1 P3
3 1 P2 P1
4 1 P2 P3
5 1 P3 P1
6 1 P3 P2
7 2 P4 P1
8 2 P1 P4
9 3 P3 NA
注意:注意id'3'和person'P3'没有任何其他匹配的人,因此在最终数据框的person2列中有一个NA。尽管这是非常需要的,但如果它不可能或非常困难,我将采取忽略 id 3 或仅将 P3 值与其自身匹配的响应(例如,P3-P3)。
如果我没有很好地表达这一点,请告诉我,我很乐意详细说明。谢谢!
【问题讨论】:
标签: r dplyr plyr reshape data-manipulation