Olá.
Na opinião de vocês quando na prática faz sentido querer um fator inorder (como os símbolos < nos levels) versus ter ele somente ordenado ou “re-nivelado”? Eu imagino ambos os casos tendo um mesmo comportamento ao plotar no ggplot, certo?
meses = forcats::as_factor(c('Apr','Jan', 'May', 'Fev', 'Mar'))
meses_relevel = forcats::fct_relevel(meses, c('Jan', 'Fev', 'Mar', 'Apr', 'May'), )
meses_inorder = forcats::fct_inorder(c('Jan', 'Fev', 'Mar', 'Apr', 'May'), ordered = T)
meses
#> [1] Apr Jan May Fev Mar
#> Levels: Apr Jan May Fev Mar
meses_relevel
#> [1] Apr Jan May Fev Mar
#> Levels: Jan Fev Mar Apr May
meses_inorder
#> [1] Jan Fev Mar Apr May
#> Levels: Jan < Fev < Mar < Apr < May
Leandro, ótima pergunta. Eu não entrei nesse tipo de detalhe durante o curso, mas a diferença entre fatores “desordenados” e ordenados é muito sutil. Para o {ggplot2}, por exemplo, os dois costumam ser equivalentes.
A diferença vem quando estamos trabalhando com modelagem, na qual a função pode querer o maior/menor fator. Veja abaixo um exemplo de quando a ordenação é necessária:
vetor <- c("Jan", "Fev", "Mar", "Apr", "May")
meses <- forcats::as_factor(vetor)
meses_inorder <- forcats::fct_inorder(vetor, ordered = TRUE)
max(meses)
#> Error in Summary.factor(structure(1:5, .Label = c("Jan", "Fev", "Mar", :
#> 'max' not meaningful for factors
max(meses_inorder)
#> [1] May
#> Levels: Jan < Fev < Mar < Apr < May