我想访问列表中的某个元素,并将其存储在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
有什么建议吗?
答案 0 :(得分:3)
您可以使用sapply
和data.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