我是一个热心的 R 新手,需要一些帮助!:)
我有一个看起来像这样的数据框:
id<-c(100,200,300,400)
a<-c(1,1,0,1)
b<-c(1,0,1,0)
c<-c(0,0,1,1)
y=data.frame(id=id,a=a,b=b,c=c)
其中id是唯一标识符(例如人),而a、b和c是人是否具有此功能的虚拟变量(始终为 1=TRUE)。
我希望 R 创建一个矩阵或数据框,其中我有变量 a、b 和 c 作为列和行的名称。对于矩阵 R 的值,必须计算具有此特征或特征组合的标识符的数量。
例如,ID 100、200 和 400 具有特征 a,然后在矩阵的对角线中 a 和 a 交叉,R 将输入 3。只有 ID 100 具有特征 a 和 b,因此 R 将输入 1,其中 a 和 b交叉等。
生成的数据框必须如下所示:
l<-c("","a","b","c")
m<-c("a",3,1,1)
n<-c("b",1,2,1)
o<-c("c",1,1,2)
result<-matrix(c(l,m,n,o),nrow=4,ncol=4)
由于我的数据集有 10 个变量和数百个观察值,我将不得不自动化整个过程。
对你的帮助表示感谢。非常感谢!