【发布时间】:2018-09-21 12:29:48
【问题描述】:
我一直在尝试这样做,但无法找到解决方案......
我有一个清单,比如说:
> a
[[1]]
[1] 10 30
[[2]]
[1] 15 20
[[3]]
[1] 12 15 30
$[[4]]
[1] 15 30 20
我想将第一个元素、第二个和第三个元素提取为向量。
我知道如何提取第一个和第二个元素:
first <- sapply(a, "[[", 1)
second <- sapply(a, "[[", 2)
但是当试图提取第三个时,我得到一个错误,因为列表中的一些向量中没有第三个元素。
我怎么能这样做?我应该在列表中只有两个值的向量中添加一个零吗?
【问题讨论】:
-
试试
sapply(a, tail, 1) -
@Jimbou 那会给他们一个不同的结果,不是吗?
-
@docendodiscimus 啊,我明白了。
NA或0如果没有第三个值。 -
当您提取“第三个”元素时,您希望结果是什么?
-
最好得到零
0,而不是 NA。