假设我有以下列表:
result
[[1]]
[1] NA 104 67 NA 107 71 94 NA NA 64
[[2]]
[1] NA 381 NA NA 412 NA 287 NA NA NA
[[3]]
[1] NA 38 NA NA NA NA NA NA NA NA
Run Code Online (Sandbox Code Playgroud)
和dput():
list(c(NA, 104, 67, NA, 107, 71, 94, NA, NA, 64), c(NA, 381,
NA, NA, 412, NA, 287, NA, NA, NA), c(NA, 38, NA, NA, NA, NA,
NA, NA, NA, NA))
Run Code Online (Sandbox Code Playgroud)
dataframe:
df <- as.data.frame(do.call(cbind, result),
stringsAsFactors = FALSE,
col.names = c('speed', 'distance', 'degrees'))
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不包括输出中的列名称(为什么?):
df
V1 V2 V3
1 NA NA NA
2 104 381 38
3 67 NA NA
4 NA NA NA
5 107 412 NA
6 71 NA NA
7 94 287 NA
8 NA NA NA
9 NA NA NA
10 64 NA NA
Run Code Online (Sandbox Code Playgroud)
结果列表没有名称,给它命名然后转换,不需要cbind:
result <- list(c(NA, 104, 67, NA, 107, 71, 94, NA, NA, 64),
c(NA, 381, NA, NA, 412, NA, 287, NA, NA, NA),
c(NA, 38, NA, NA, NA, NA, NA, NA, NA, NA))
df1 <- data.frame(setNames(result, c("speed", "distance", "degrees")))
head(df1)
# speed distance degrees
# 1 NA NA NA
# 2 104 381 38
# 3 67 NA NA
# 4 NA NA NA
# 5 107 412 NA
# 6 71 NA NA
Run Code Online (Sandbox Code Playgroud)