如何将列表转换为查找表

时间:2017-03-02 04:24:51

标签: r list lookup-tables

我有一个列表输出,看起来像这个片段:

Timeslot.last.users

有没有办法将其转换为这种格式?

Timeslot.last

不知道从哪里开始...如果我取消它,我注意到我失去了整数(0)位置,这对我来说很重要。

3 个答案:

答案 0 :(得分:5)

使用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

答案 1 :(得分:2)

有点

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

答案 2 :(得分:1)

我们可以使用stack

执行此操作
stack(setNames(lapply(lst, `length<-`, 1), seq_along(lst)))[2:1]