【发布时间】:2015-12-23 12:03:14
【问题描述】:
我有一个向量
row = c(Estimate = 1, pvalue = 0.5)
如何使用矢量row 制作如下列表?
list(name = "class2", Estimate = 1, pvalue = 0.5)
背景:
我正在逐行构造一个data.table
dt = data.table()
dt = rbind(dt, list(name = "class1", Estimate = 0.5, pvalue = 0.7))
现在我计算了另一行,从 lm 的向量开始
row = c(Estimate = 1, pvalue = 0.5)
我想将它附加到dt。
如何使用row 制作如下列表
list(name = "class2", Estimate = 1, pvalue = 0.5)
(NB name 是字符,其他列是数字)
顺便说一句,有没有更好的方法来构造data.table?
【问题讨论】:
-
您的问题不清楚。但是,增长这样的对象是您可以在 R(或任何编程语言)中使用的效率最低的方法。
-
@Roland 我进行了编辑以明确我的问题,谢谢
-
@Roland,效率不仅仅是内存/cpu 问题,如果我的表少于 1000 行,那么最有效的方法是我可以用最少的时间编写代码。此外,对于 data.table(不是 data.frame),这似乎问题较少
-
不好的做法就是不好的做法。您可能事先知道需要多少行,所以如果您不想学习编写真正高效的代码,您至少可以预先分配,这并不比您现在所做的更难。每次有人使用他们的包时,data.table 开发人员都会感到不寒而栗,该包是为获得最佳性能而编写的,代码效率低下。最后,当您认为 data.table 的问题较少时,您就错了。
标签: r data.table