创建一个包含m列和2行的data.frame

时间:2011-05-23 22:30:05

标签: r

我想在R中创建一个data.frame,其中m(变量)列数(例如30)和2行,并且最初用0填充data.frame中的所有值。似乎data.frame基于行而不是列填充值,任何建议我如何做到这一点?谢谢:))

2 个答案:

答案 0 :(得分:54)

m真的需要data.frame()还是matrix()就足够了?

m <- matrix(0, ncol = 30, nrow = 2)

如果需要,您可以将data.frame()包裹起来:

m <- data.frame(m)

或全部在一行:m <- data.frame(matrix(0, ncol = 30, nrow = 2))

答案 1 :(得分:31)

为了完整性:

按照Chase的回答,我通常使用as.data.frame将矩阵强制转换为data.frame:

m <- as.data.frame(matrix(0, ncol = 30, nrow = 2))

编辑:speed test data.frameas.data.frame

system.time(replicate(10000, data.frame(matrix(0, ncol = 30, nrow = 2))))
   user  system elapsed 
  8.005   0.108   8.165 

system.time(replicate(10000, as.data.frame(matrix(0, ncol = 30, nrow = 2))))
   user  system elapsed 
  3.759   0.048   3.802 

是的,它看起来更快(大约2倍)。