我正在尝试将一个列表的列表转化为
以下是一些早期的帖子:
- 如何展开一个列表的列表? - R列表的列表到数据框 目前为止,我看到的最好的答案是 Benjamin Christoffersen 在上面第二个链接中提供的答案,但在我的情况下,每个子列表只有一个值,我有缺失的观测值,并且我的列表有名称,我希望保留它们。
以下是我的示例数据集:
以下是所需的数据框:
data.frame
。我知道这个问题已经被问过多次,但是我找不到早期的答案适用于我的情况。以下是一些早期的帖子:
- 如何展开一个列表的列表? - R列表的列表到数据框 目前为止,我看到的最好的答案是 Benjamin Christoffersen 在上面第二个链接中提供的答案,但在我的情况下,每个子列表只有一个值,我有缺失的观测值,并且我的列表有名称,我希望保留它们。
以下是我的示例数据集:
AA <- list(my.col1 = 1, my.col2 = 4, my.col3 = NULL, my.col4 = NULL)
BB <- list(my.col1 = NULL, my.col2 = NULL, my.col3 = NULL, my.col4 = NULL)
CC <- list(my.col1 = 13, my.col2 = 8, my.col3 = 2, my.col4 = 10)
DD <- list(my.col1 = NULL, my.col2 = NULL, my.col3 = -5, my.col4 = 7)
my.stuff <- list(AA, BB, CC, DD)
names(my.stuff) <- c("AA", "BB", "CC", "DD")
my.stuff
以下是所需的数据框:
data.frame
:
desired.object <- read.table(text = '
my.var my.col1 my.col2 my.col3 my.col4
AA 1 4 NULL NULL
BB NULL NULL NULL NULL
CC 13 8 2 10
DD NULL NULL -5 7',
stringsAsFactors = FALSE, header = TRUE, na.strings = "NULL")
desired.object
# my.var my.col1 my.col2 my.col3 my.col4
#1 AA 1 4 NA NA
#2 BB NA NA NA NA
#3 CC 13 8 2 10
#4 DD NA NA -5 7
我可以得到类似的输出,但它完全不是我想要的格式:
my.stuff2 <- do.call(rbind, my.stuff)
my.stuff2
# my.col1 my.col2 my.col3 my.col4
# AA 1 4 NULL NULL
# BB NULL NULL NULL NULL
# CC 13 8 2 10
# DD NULL NULL -5 7
如果这个问题已经有了答案,我很抱歉。