Como converter um fator em uma data em r (com exemplos)


Você pode usar um dos dois métodos para converter rapidamente um fator em uma data em R:

Método 1: Use Base R

 as. Date (factor_variable, format = ' %m/%d/%Y ')

Método 2: Use Lubrificante

 library (lubridate)

mdy(factor_variable)

Os exemplos a seguir mostram como usar cada método com o seguinte quadro de dados:

 #create data frame
df <- data. frame (day=factor(c('1/1/2020', '1/13/2020', '1/15/2020')),
                 sales=c(145, 190, 223))

#view data frame
df

        day sales
1 1/1/2020 145
2 1/13/2020 190
3 1/15/2020 223

#view class of 'day' variable
class(df$day)

[1] “factor”

Exemplo 1: Converter um fator em uma data usando a base R

O código a seguir mostra como converter a variável “dia” no quadro de dados do fator em uma data usando a função as.Date() no R Base:

 #convert 'day' column to date format
df$day <- as. Date (df$day, format = ' %m/%d/%Y ')

#view updated data frame
df

         day sales
1 2020-01-01 145
2 2020-01-13 190
3 2020-01-15 223

#view class of 'day' variable
class(df$day)

[1] “Date”

Observe que a variável “dia” foi convertida para o formato de data.

Exemplo 2: Converter fator em data usando Lubridate

O código a seguir mostra como converter a variável ‘day’ de um fator para uma data usando a função mdy() do pacote lubridate:

 library (lubridate)

#convert 'day' column to date format
df$day <- mdy(df$day)

#view updated data frame
df

         day sales
1 2020-01-01 145
2 2020-01-13 190
3 2020-01-15 223

#view class of 'day' variable
class(df$day)

[1] “Date”

A variável ‘dia’ foi convertida para o formato de data.

Observe que mdy() especifica um formato mês-dia-ano.

Nota : Você pode encontrar a documentação completa do pacote lubridate aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras conversões comuns em R:

Como converter uma data em numérico em R
Como converter numérico em caractere em R
Como converter variáveis categóricas em numéricas em R

Add a Comment

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