Como converter coluna de quadro de dados em vetor em r


Você pode usar um dos três métodos a seguir para converter uma coluna de quadro de dados em um vetor em 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)

Cada um desses métodos retorna resultados idênticos.

Os exemplos a seguir mostram como usar cada um desses métodos na prática com o seguinte quadro de dados:

 #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

Exemplo 1: usando o operador $

O código a seguir mostra como usar o operador $ para converter uma coluna de quadro de dados em um vetor:

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

Exemplo 2: Use indexação

O código a seguir mostra como usar a indexação para converter uma coluna de quadro de dados em um vetor:

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

Exemplo 3: use ‘pull’ do dplyr

O código a seguir mostra como usar a função “pull” do pacote dplyr para converter uma coluna de quadro de dados em um vetor:

 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"

Observe que todos os três métodos retornam resultados idênticos.

Nota : Se você estiver trabalhando com um conjunto de dados extremamente grande, a função “pull” no pacote dplyr executará a mais rápida das três funções compartilhadas neste tutorial.

Recursos adicionais

Como converter matriz em vetor em R
Como converter uma lista em um quadro de dados em R
Como converter caractere em numérico em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *