R 使用data.table j填写矩阵(通常用于与外部变量交互)

R 使用data.table j填写矩阵(通常用于与外部变量交互),r,data.table,R,Data.table,我试图从data.table快速分组中获益,以填充矩阵(或从data.table外部执行其他操作) 例如,我有一个data.table,如下所示: DT = data.table(x_id=rep(c(1,2),c(100,100)),x_value = rnorm(200)) setkey(DT,x_id) (代表两个不同的时间序列) 我想把同样的信息放在一个100行2列的矩阵中。 我试过了 但它不起作用。这给我提出了两个问题:(我无法在文档中找到帮助) 1) 是否有一种很好的方法(无循环)

我试图从data.table快速分组中获益,以填充矩阵(或从data.table外部执行其他操作)

例如,我有一个data.table,如下所示:

DT = data.table(x_id=rep(c(1,2),c(100,100)),x_value = rnorm(200))
setkey(DT,x_id)
(代表两个不同的时间序列)

我想把同样的信息放在一个100行2列的矩阵中。 我试过了

但它不起作用。这给我提出了两个问题:(我无法在文档中找到帮助)

1) 是否有一种很好的方法(无循环)将data.table转换为矩阵

2) 一般来说,我们可以在j环境中为外部变量赋值

非常感谢你的帮助

试试看:

DT[,A[,.GRP] <<- x_value,by=x_id]

它利用了矩阵的基本向量性质。

你说得对,这有点奇怪。谢谢你的回答,不管怎样,第一行在其他上下文中可能有用!
DT[,A[,.GRP] <<- x_value,by=x_id]
A <- matrix(DT[, x_value], 100)