如果我的问题听起来令人困惑。这是一个例子。
n = c('dog')
s = c('dog', 'cat')
b = c('dog', 'cat')
v = c('dog')
x = list(n, s, b, v)
上述代码的输出为
1.'dog'
2.'dog' 'cat'
3.'dog' 'cat'
4.'dog'
我的目标是在有2件物品时获得第二件物品,并在有1件物品时获得第一件物品。
我尝试过使用sapply()
我可以使用此代码获得第二个元素。
sapply(x, "[", 2)
然而,我坚持如何写上面的条件。
我的愿望输出是。
1.'dog'
2.'cat'
3.'cat'
4.'dog'
请告知,谢谢。
答案 0 :(得分:1)
我们可以使用tail
来提取最后一个元素
sapply(x, tail, 1)
#[1] "dog" "cat" "cat" "dog"
或使用tidyverse
library(tidyverse)
map_chr(x, last)
#[1] "dog" "cat" "cat" "dog"