Jak przekonwertować kolumnę ramki danych na wektor w r


Możesz użyć jednej z następujących trzech metod, aby przekonwertować kolumnę ramki danych na wektor w 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)

Każda z tych metod zwraca identyczne wyniki.

Poniższe przykłady pokazują, jak w praktyce zastosować każdą z tych metod z następującą ramką danych:

 #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

   ABC
1 1 8 3
2 2 8 3
3 5 9 2
4 6 14 1
5 12 22 2
6 14 19 10

Przykład 1: użycie operatora $

Poniższy kod pokazuje, jak użyć operatora $ do konwersji kolumny ramki danych na wektor:

 #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] "digital"

Przykład 2: Użyj indeksowania

Poniższy kod pokazuje, jak używać indeksowania do konwersji kolumny ramki danych na wektor:

 #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] "digital"

Przykład 3: użyj polecenia „pull” z dplyr

Poniższy kod pokazuje, jak użyć funkcji „pull” pakietu dplyr do konwersji kolumny ramki danych na wektor:

 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] "digital"

Należy pamiętać, że wszystkie trzy metody zwracają identyczne wyniki.

Uwaga : jeśli pracujesz z bardzo dużym zbiorem danych, funkcja „pull” w pakiecie dplyr wykona najszybszą z trzech funkcji udostępnionych w tym samouczku.

Dodatkowe zasoby

Jak przekonwertować macierz na wektor w R
Jak przekonwertować listę na ramkę danych w R
Jak przekonwertować znak na numeryczny w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *