如何创建具有未知列数的data.frame?

1 r dataframe

我想在函数中创建一个循环来创建一个具有可变列数的data.frame.

有类似的东西:

a = c("a","b")
b = c(list(1,2,3), list(4,5,6))
data.frame(a,b)
Run Code Online (Sandbox Code Playgroud)

我想得到一个数据框,如:

a 1 2 3
b 4 5 6
Run Code Online (Sandbox Code Playgroud)

而不是我获得:

a  1  2  3  4  5  6
b  1  2  3  4  5  6
Run Code Online (Sandbox Code Playgroud)

谢谢!

PS:我也试过rbind,但它不起作用......

Sha*_*ane 6

有很多方法可以做这种事情.你的第一个问题是你的"b"对象不是矩阵.您需要将其定义为具有行和列的(或使用rbind).

您可以创建数据框然后将它们组合起来(这比使用矩阵开始更好,因为它会将每个对象类型保持为数字或字符等,而矩阵会丢失):

x1 <- data.frame(X=c("a","b"))
x2 <- data.frame(rbind(c(1,2,3), c(4,5,6)))
data.frame(x1, x2)
  X X1 X2 X3
1  a  1  2  3
2  b  4  5  6
Run Code Online (Sandbox Code Playgroud)

如果x1用于rownames,那么你应该遵循James的例子:

x2 <- data.frame(rbind(c(1,2,3), c(4,5,6)))
rownames(x2) <- c("a","b")
Run Code Online (Sandbox Code Playgroud)