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