相关疑难解决方法(0)

为什么rbindlist比rbind"更好"?

我正在阅读文档,data.table并且还注意到了一些关于SO的对话,这些对话rbindlist应该比我更好rbind.

我想知道为什么rbindlist比真正优秀的rbind场景更好?rbindlistrbind

在内存利用方面有什么优势吗?

r rbind data.table rbindlist

129
推荐指数
2
解决办法
8万
查看次数

使用不同列来rbind data.frames的有效方法

我有一组包含不同列的数据框.我想将它们按行组合成一个数据帧.我习惯plyr::rbind.fill这样做.我正在寻找能够更有效地完成这项工作的东西,但这与此处给出的答案类似

require(plyr)

set.seed(45)
sample.fun <- function() {
   nam <- sample(LETTERS, sample(5:15))
   val <- data.frame(matrix(sample(letters, length(nam)*10,replace=TRUE),nrow=10))
   setNames(val, nam)  
}
ll <- replicate(1e4, sample.fun())
rbind.fill(ll)
Run Code Online (Sandbox Code Playgroud)

r rbind data.table

29
推荐指数
3
解决办法
2万
查看次数

在相同的data.tables上执行bind_rows()和rbind()之后,same()= FALSE?

警告:新手.我有几个data.tables,每个数百万行,变量主要是日期和因素.我正在使用rbindlist()来组合它们,因为.昨天,在将表分成较小的块(而不是当前的水平拼接)之后,我试图更好地理解rbind(特别是使用fill = TRUE)并尝试了bind_rows()然后尝试验证结果但是相同( )返回FALSE.

library(data.table)
library(dplyr)
DT1 <- data.table(a=1, b=2)
DT2 <- data.table(a=4, b=3)
DT_bindrows <- bind_rows(DT1,DT2)
DT_rbind <- rbind(DT1,DT2)
identical(DT_bindrows,DT_rbind)
 # [1] FALSE
Run Code Online (Sandbox Code Playgroud)

目视检查bind_rows()和rbind()的结果表明它们确实相同.我读了这个这个(从我调整的例子).我的问题:(a)我错过了什么,以及(b)如果我的列的数量,名称和顺序是相同的,我是否应该关注相同的()= FALSE?

r rbind dplyr data.table

6
推荐指数
1
解决办法
256
查看次数

rbindlist data.tables具有不同的列数

我想知道我如何rbindlist具有不同列数的数据表,并用像rbind.fill这样的NA填充空行

 DT1 <- data.table(A = 1:3)
 DT2 <- data.table(A  =4:5, B = letters[4:5])
 l <- list(DT1, DT2)
 rbindlist(l)
 #  Error in rbindlist(l) : 
 #   Item 2 has 2 columns, inconsistent with item 1 which has 1 columns
Run Code Online (Sandbox Code Playgroud)

我想得到的是

   A B
1: 1 NA
2: 2 NA
3: 3 NA
4: 4 d
5: 5 e
Run Code Online (Sandbox Code Playgroud)

r data.table

4
推荐指数
1
解决办法
6194
查看次数

标签 统计

data.table ×4

r ×4

rbind ×3

dplyr ×1

rbindlist ×1