我有一些代码,在一个地方最终得到一个数据帧列表,我真的想转换为一个大数据帧.
我从之前的一个问题中得到了一些指示,这个问题试图做类似但更复杂的事情.
这是我开始的一个例子(为了说明,这是非常简化的):
listOfDataFrames <- vector(mode = "list", length = 100)
for (i in 1:100) {
listOfDataFrames[[i]] <- data.frame(a=sample(letters, 500, rep=T),
b=rnorm(500), c=rnorm(500))
}
Run Code Online (Sandbox Code Playgroud)
我目前正在使用这个:
df <- do.call("rbind", listOfDataFrames)
Run Code Online (Sandbox Code Playgroud) 我正在阅读文档,data.table
并且还注意到了一些关于SO的对话,这些对话rbindlist
应该比我更好rbind
.
我想知道为什么rbindlist
比真正优秀的rbind
场景更好?rbindlist
rbind
在内存利用方面有什么优势吗?
当我坐在这里等待一些R脚本运行...我想知道...有没有办法在R中并行化rbind?
当我处理大量数据时,我坐着等待这个电话频繁完成.
do.call("rbind", LIST)
Run Code Online (Sandbox Code Playgroud) 我有一个xts
互相排列的对象列表.我想把merge
列表变成一个大xts
对象.我这样做的尝试是"
merged_reg_1_min_prices <- do.call(cbind, reg_1_min_prices)
Run Code Online (Sandbox Code Playgroud)
然而,这似乎耗尽了记忆. reg_1_min_prices
相互排斥的日子是6,000天1分钟的回报,所以它不是很大.有谁知道怎么解决这个问题?
需要明确的是:reg_1_min_prices
包含每天1分钟价格的互斥日,列表中的每个条目都是一个xts
对象.
我已经阅读了数据集列表并将其称为n.我想做的是从n中获取数据集的子集,并在R中将它们绑定在一起.当我尝试去时,rbind(n)
这只是给我数据集的所有名称的数据框而不是实际放置的元素每个数据集在彼此之下.我想要做的是绑定共享一个共同名称的数据集的子集.例如,18个数据集以"4"开头.我想把所有这些绑在一起.是否有捷径可寻?
我有一个list
包含0-3 id号码,如下所示:
[[1]]
[1] 2125233 <NA> <NA>
[[2]]
[1] 2009281 2380145 2931851
[[3]]
[1] 1517163 2836702 2506119
Run Code Online (Sandbox Code Playgroud)
如何将其转换data frame
为元素编号成为id 的位置,元素的内容将变为字符串/因子,如下所示:
id contents
1 2125233 <NA> <NA>
2 2009281 2380145 2931851
3 1517163 2836702 2506119
... .....
Run Code Online (Sandbox Code Playgroud)
我试过看,unlist
但它只是把所有东西都扔进了一个长矢量.
有什么建议?