R - 创建一个巨大的二维矩阵

时间:2016-02-23 10:00:09

标签: r

我有以下格式的数据:

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中找到一些东西让我的生活更轻松。

由于

1 个答案:

答案 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)