Лучший способ конвертировать список в вектор? - программирование
Подтвердить что ты не робот

Лучший способ конвертировать список в вектор?

У меня есть список именованных значений:

myList <- list('A'=1, 'B'=2, 'C'=3)

Мне нужен вектор со значением 1:3

Я не могу понять, как извлечь значения без определения функции. Есть ли более простой способ, о котором я не знаю?

library(plyr)
myvector <- laply(myList, function(x) x)

Есть ли что-то похожее на myList$Values, чтобы удалить имена и вернуть их как вектор?

4b9b3361

Ответ 1

Используйте unlist с аргументом use.names = FALSE.

unlist(myList, use.names=FALSE)

Ответ 2

purrr::flatten_*() также является хорошим вариантом. функции flatten_* добавляют тонкие проверки работоспособности и обеспечивают безопасность типа.

myList <- list('A'=1, 'B'=2, 'C'=3)

purrr::flatten_dbl(myList)
## [1] 1 2 3

Ответ 3

Это можно сделать с помощью unlist до as.vector. Результат такой же, как при использовании параметра use.names=FALSE.

as.vector(unlist(myList))