【发布时间】:2016-06-30 06:06:30
【问题描述】:
实现了上一个问题的一些代码: Lapply to Add Columns to Each Dataframe in a List
使用上述方法,我收到损坏的数据。虽然我无法提供实际数据,但我想知道是否需要实现额外的参数来防止洗牌。
基本上,这是:
Require: data.table
df1 <- data.frame(x = runif(3), y = runif(3))
df2 <- data.frame(x = runif(3), y = runif(3))
dfs <- list(df1, df2)
years <- list(2013, 2014)
a<-Map(cbind, dfs, year = years)
final<-rbindlist(a)
但应用于数千个数据框列表的列表有错误的结果。假设某些数据帧,例如 df 1.5 介于上述两个数据帧之间,是空的。这会影响 Map 将年份绑定到 dfs 的顺序吗?本质上,我有一个输出,其中一些数据属于与它所附的地图不同的年份。我测试了年份列表的长度和顺序,并将其与最终的输出年份进行了比较。它们是相同的。有什么想法吗?
【问题讨论】:
-
顺便说一句,在随机示例之前使用
set.seed通常会很好。它使比较和验证结果变得更加容易。
标签: r list dataframe data.table