У меня есть список векторов, некоторые из которых NA
.Мне нужно использовать lapply
, чтобы выбрать предпоследний элемент каждого вектора.Проблема в том, что NAs
имеет длину 1, поэтому я не могу получить доступ к их второму-последнему элементу.
MyList <- list(a=c("a","b","c"),b=NA,c=c("d","e","f"))
VectorFromList <- unlist(lapply(MyList, function(x) return(x[length(x)-1])))
VectorFromList
a c
"b" "e"
Как видите, результирующий вектор короче исходного списка ввода, которыйпроблема, если я хочу добавить его в виде столбца в более длинном кадре данных.Мой ожидаемый результат - вектор такой же длины исходного списка:
[1] "a" NA "c"
Как мне работать с NAs
при использовании lapply
для выбора подэлементов в списке?