将data.table转换为矩阵并删除列

时间:2018-03-07 07:54:54

标签: r matrix indexing

我有一个data.table,比方说有五行

d <- data.table(rnorm(5),rnorm(5),rnorm(5))

我可以将其转换为矩阵并删除第一列

m <- as.matrix(d)[,-1]

然后使用m[cbind(r,c)]进行索引,其中rc在每次迭代时都会发生变化。

我注意到当d只有一行并且我将其转换时,

d <- data.table(rnorm(1),rnorm(1),rnorm(1))
m <- as.matrix(d)[,-1]

m属于numeric类,索引m[cbind(1,r)]不再有效。这似乎是由[,-1]引起的,否则m属于matrix类,索引工作正常。

是否有人知道这种不连续性的来源以及是否有不同的方法来删除不会导致此问题的第一列?

0 个答案:

没有答案