我有以下格式的数据:
1 21 32 95436 23 98 213 34
2 876 765 9 32 12 65 698076
3 543 76 9087 23 65 434 786
4 2 87 65 387 8976 43 87
....
第一列显示行ID。我想以每个条目指示列名称的方式创建二进制矩阵。例如,[1,21] = 1,[1,32] = 1,...... 我试图在R中找到一些东西让我的生活更轻松。
由于
答案 0 :(得分:1)
我们可以使用sparseMatrix
中的library(Matrix)
。
library(Matrix)
sP <- sparseMatrix(df1[,1][row(df1[-1])], unlist(df1[-1]), x=1)
m1 <- as.matrix(sP)
set.seed(24)
df1 <- data.frame(V1= 1:4, V2= sample(1:7, 4,
replace=FALSE), V3= 8:11)