【问题标题】:How to insert list of vector to a data frame如何将向量列表插入数据框
【发布时间】:2015-04-25 12:11:02
【问题描述】:

我想将向量列表(具有相同元素)插入数据框。

这是我的代码:

library(data.table)
// create data frame and list
myFrame <- data.frame()
myList <- list()
indexRow <- 1
//to make a list of 100 vectors
for(i in 1:100)
{   
    myList[[indexRow]] <- c(i,i,i)
    indexRow <- indexRow + 1
}
// last is inset myList to myFrame
myFrame <- rbindlist(list(myFrame,myList))

我希望我的框架是

x1 x2 x3
1  1   1
2  2   2
3  3   3
...
100 100 100

但它是按列插入,而不是按行插入:

x1 x2 ...  x100
1  2        100
1  2        100
1  2        100

你能帮帮我吗?

【问题讨论】:

  • 为什么要以这种方式创建数据?它可能很慢。
  • 对于 R 语言,您的数据操作看起来有点不自然。你可以通过myFrame &lt;- as.data.frame(matrix(1:100, nrow = 100, ncol = 3))得到结果
  • // 不是在 R 中评论的正确方式。请改用#
  • 感谢您的帮助!
  • for 循环中的indexRow 似乎是多余的,因为它始终等于i 的值。

标签: r insert data.table row


【解决方案1】:

如果你转置你的矩阵,你应该没问题:

t(myFrame)

正如 cmets 中指出的那样,生成这样的数据效率非常低。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多