访问r中列表中的元素

时间:2014-04-28 14:29:03

标签: r list dataframe

我想访问列表中的某个元素,并将其存储在data.frame中。如果特定对象没有该元素,则结果应为NA。

示例:

list
$A
"mark" "peter" "sam" "il"

$B
"dd" "pp" "tt" "ff" "jj" "rr"

$C
"aa" "aa" "aa" "aa" "aa" "aa"

通过在整个列表中调用第六个元素的结果应为:

结果(数据。框架):

name value

<NA>  A
rr    B
aa    C

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您可以使用sapplydata.frame

# The list
l <- list(A = c("mark", "peter", "sam", "il"),
          B = c("dd", "pp", "tt", "ff", "jj", "rr"),
          C = c("aa", "aa", "aa", "aa", "aa", "aa"))

# extract sixth element in each vector
res <- sapply(l, "[", 6)

# combine to data frame
dat <- data.frame(name = res, value = names(res))

#   name value
# A  <NA>    A
# B    rr    B
# C    aa    C