我有一個列表輸出看起來像這樣的片段:如何變換成列表查找表
[[1]]
[1] 109
[[2]]
integer(0)
[[3]]
[1] 80
有沒有辦法把它改造成這種格式?
C1 C2
1 109
2 0 (or NA)
3 80
不知道在哪裏甚至開始......如果我選擇不公開它,我發現我失去了我的整數(0)的位置,這是非常重要,我保持。
類我有一個列表輸出看起來像這樣的片段:如何變換成列表查找表
[[1]]
[1] 109
[[2]]
integer(0)
[[3]]
[1] 80
有沒有辦法把它改造成這種格式?
C1 C2
1 109
2 0 (or NA)
3 80
不知道在哪裏甚至開始......如果我選擇不公開它,我發現我失去了我的整數(0)的位置,這是非常重要,我保持。
類隨着as.numeric
可以保留integer(0)
爲NA
。
data.frame(C1 = seq(length(lst)), C2 = as.numeric(lst))
# C1 C2
#1 1 109
#2 2 NA
#3 3 80
也'seq_along(lst)'。 – lmo
L = list(109,integer(0),80)
sapply(L, '[', 1:1) #OR sapply(L, function(a) a[1])
#[1] 109 NA 80
#If you need a data.frame
data.frame(cbind(1:length(L),lapply(L, '[', 1:1)))
# X1 X2
#1 1 109
#2 2 NA
#3 3 80
我們可以通過stack
stack(setNames(lapply(lst, `length<-`, 1), seq_along(lst)))[2:1]
http://stackoverflow.com/questions/17388096/convert-list-with-null-entres-to-data-frame-的可能重複做在-r – akrun