我有一个长度不等的数据表列表。一些数据表有 35 列,其他数据表有 36 列。
我有这行代码,但它会产生错误
> lst <- unlist(full_data.lst, recursive = FALSE)
> model_dat <- do.call("rbind", lst)
Error in rbindlist(l, use.names, fill, idcol) :
Item 1362 has 35 columns, inconsistent with item 1 which has 36 columns. If instead you need to fill missing columns, use set argument 'fill' to TRUE.
Run Code Online (Sandbox Code Playgroud)
关于如何修改它以使其正常工作的任何建议。
这是您正在尝试做的事情的一个最小示例。
无需使用任何其他包来执行此操作。刚设置fill=TRUE进去rbindlist。
你可以这样做:
df1 <- data.table(m1 = c(1,2,3))
df2 <- data.table(m1 = c(1,2,3), m2=c(3,4,5))
df3 <- rbindlist(list(df1, df2), fill=T)
print(df3)
m1 m2
1: 1 NA
2: 2 NA
3: 3 NA
4: 1 3
5: 2 4
6: 3 5
Run Code Online (Sandbox Code Playgroud)