Вы можете использовать функцию as.list() для быстрого преобразования вектора в список в R.
Эта функция использует следующий базовый синтаксис:
my_list <- as. list (my_vector)
В следующем примере показано, как использовать эту функцию на практике.
Пример: преобразование вектора в список в R
В следующем коде показано, как использовать функцию as.list() для преобразования вектора в список:
#create vector
my_vector <- c('A', 'B', 'C', 'D')
#convert vector to list
my_list <- as. list (my_vector)
#view list
my_list
[[1]]
[1] "A"
[[2]]
[1] "B"
[[3]]
[1] "C"
[[4]]
[1] "D"
Мы можем использовать функцию class() , чтобы подтвердить, что новый объект действительно имеет класс списка:
#view class of list
class(my_list)
[1] "list"
Бонус: добавление вектора в список
Вы можете подумать, что можете использовать следующий синтаксис для добавления элементов вектора в список в R:
#attempt to create list with 6 elements
some_list <- list('A', 'B', as. list (c('C', 'D', 'E', 'F')))
#view list
some_list[[1]]
[1] "A"
[[2]]
[1] "B"
[[3]]
[[3]][[1]]
[1] "C"
[[3]][[2]]
[1] "D"
[[3]][[3]]
[1] "E"
[[3]][[4]]
[1] "F"
Вместо списка с шестью элементами список состоит из трех элементов, а третий элемент имеет четыре подэлемента.
Чтобы добавить элементы вектора в список, мы должны использовать следующий код:
#define vector
my_vector <- c('C', 'D', 'E', 'F')
#define first list
list1 <- list('A', 'B')
#convert vector to second list
list2 <- as. list (my_vector)
#create long list by combining first list and second list
list3 <- c(list1, list2)
#view result
list3
[[1]]
[1] "A"
[[2]]
[1] "B"
[[3]]
[1] "C"
[[4]]
[1] "D"
[[5]]
[1] "E"
[[6]]
[1] "F"
Результатом является список из шести элементов.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как преобразовать список в вектор в R
Как преобразовать матрицу в вектор в R
Как преобразовать столбец фрейма данных в вектор в R