Как преобразовать столбец фрейма данных в вектор в R


Вы можете использовать один из следующих трех методов для преобразования столбца фрейма данных в вектор в R:

#use $ operator
new_vector <- df$column_name

#use indexing
new_vector <- df[['column_name']]

#use 'pull' from *dplyr* package
new_vector <- dplyr::pull(df, column_name)

Каждый из этих методов возвращает идентичные результаты.

В следующих примерах показано, как использовать каждый из этих методов на практике со следующим фреймом данных:

#create data frame
df <- data.frame(a=c(1, 2, 5, 6, 12, 14),
 b=c(8, 8, 9, 14, 22, 19),
 c=c(3, 3, 2, 1, 2, 10))

#display data frame
df

 a b c
1 1 8 3
2 2 8 3
3 5 9 2
4 6 14 1
5 12 22 2
6 14 19 10

Пример 1. Использование оператора $

В следующем коде показано, как использовать оператор $ для преобразования столбца фрейма данных в вектор:

#convert column 'a' to vector
new_vector <- df$a

#view vector
new_vector

[1] 1 2 5 6 12 14

#view class of vector
class(new_vector)

[1] "numeric"

Пример 2. Использование индексации

В следующем коде показано, как использовать индексирование для преобразования столбца фрейма данных в вектор:

#convert column 'a' to vector
new_vector <- df[['a']]

#view vector
new_vector

[1] 1 2 5 6 12 14

#view class of vector
class(new_vector)

[1] "numeric"

Пример 3: Использование «вытягивания» из dplyr

В следующем коде показано, как использовать функцию pull из пакета dplyr для преобразования столбца фрейма данных в вектор:

library(dplyr)

#convert column 'a' to vector
new_vector <- pull(df, a)

#view vector
new_vector

[1] 1 2 5 6 12 14

#view class of vector
class(new_vector)

[1] "numeric"

Обратите внимание, что все три метода возвращают одинаковые результаты.

Примечание.Если вы работаете с чрезвычайно большим набором данных, функция «вытягивания» из пакета dplyr будет выполняться быстрее всего из трех функций, описанных в этом руководстве.

Дополнительные ресурсы

Как преобразовать матрицу в вектор в R
Как преобразовать список во фрейм данных в R
Как преобразовать символ в число в R