具有唯一随机抽取的数据表中的动态列数

时间:2018-12-20 19:04:48

标签: r random data.table

假设对于任意J,我都有以下矩阵:

set.seed(1)
J=2
n = 100
BB = data.table(r=1:n)
BB[, (paste0("a",seq(J))) := rnorm(n,1,7) ]

所以输出是...

> BB
       r           a1           a2
  1:   1  -3.38517668  -3.38517668
  2:   2   2.28550327   2.28550327
  3:   3  -4.84940029  -4.84940029
      ...

为什么这两列是相同的而现在是不同的rmrms?

1 个答案:

答案 0 :(得分:3)

您可以使用超快速for-set组合:

for(i in seq(J))
    set(x = BB, j = paste0('a',i), value = rnorm(n, 1, 7))