我有一个长格式的数据集,其中测量(时间)嵌套在网络伙伴(NP)中,网络伙伴(NP)嵌套在人员(ID)中,这是它的外观示例(真实数据集有数千行):
ID NP Time Outcome1 Outcome2
1 11 1 4 NA
1 11 2 3 4
1 11 3 NA NA
1 12 1 2 3
1 12 2 3 1
1 12 3 3 2
2 21 1 2 4
2 21 2 NA NA
2 21 3 NA NA
2 22 1 4 NA
2 22 2 4 3
2 22 3 NA 4
现在我想创建以下新变量“NP.T”:
特定时间的特定人员 (ID) 的网络合作伙伴数量(在此测量中的结果 1 和结果 2 中没有 NA)。换句话说:我想计算在两个结果变量中有一个或没有 NA 的 NP。而且我不想计算那些在两个结果变量中都有 NA 的 NP。
所以我想创建一个这样的数据集:
ID NP Time Outcome1 Outcome2 NP.T
1 11 1 4 NA 2
1 11 2 3 4 2
1 11 3 NA NA 1
1 12 1 2 3 2
1 12 2 3 1 2
1 12 3 3 2 1
2 21 1 2 4 2
2 21 2 NA NA 1
2 21 3 NA NA 1
2 22 1 4 NA 2
2 22 2 4 3 1
2 22 3 NA 4 1
我有前面问题中提供的解决方案,关于如何创建一个变量来计算特定时间特定人员 (ID) 的 Networkpartners 的数量(在两个结果之一中没有 NA):
library(plyr)
mydata1<-ddply(mydata,.(ID,Time),transform, NP.T=length(Outcome[which(Outcome ! ="NA")]))
现在,如果有人可以帮助我找到关于我的具体问题的答案,我将非常感激!