Измените уровни факторов и измените фрейм данных

вот пример кадра данных с использованием dput:

 df <-
      structure(
        list(layer = structure(
          1:5,
          .Label = c(
            'CEOS and managers',
            'Clerks and services',
            'Production',
            'Professionals',
            'Technicians'
          ),
          class = 'factor'
        )),
        row.names = c(NA,-5L),
        class = c('tbl_df', 'tbl', 'data.frame')
      )

Я хочу изменить порядок своих факторов с помощью forcats, чтобы фрейм данных был переупорядочен в соответствии с указанным ниже порядком, чтобы гистограммы также отображались как таковые:

df %>%
  mutate(
    layer = forcats::fct_relevel(
      'CEOs and managers',
      'Professionals',
      'Technicians',
      'Clerks and services',
      'Production')
  ) %>%
  arrange(layer)

Но остается следующее:

# A tibble: 5 x 1
  layer            
  <fct>            
1 CEOs and managers
2 CEOs and managers
3 CEOs and managers
4 CEOs and managers
5 CEOs and managers
  

Извините, меня всегда путали с fct_relevel и fct_recode


person Arthur Carvalho Brito    schedule 11.01.2021    source источник


Ответы (1)


Эту ошибку легко сделать. Вы должны указать вектор-столбец в fct_relevel. Вот так:


library(dplyr,warn.conflicts = F)
library(forcats)

df <-
  structure(
    list(layer = structure(
      1:5,
      .Label = c(
        'CEOS and managers',
        'Clerks and services',
        'Production',
        'Professionals',
        'Technicians'
      ),
      class = 'factor'
    )),
    row.names = c(NA,-5L),
    class = c('tbl_df', 'tbl', 'data.frame')
  )

df %>%
  mutate(layer = forcats::fct_relevel(
    layer,c(
      'CEOS and managers',
      'Professionals',
      'Technicians',
      'Clerks and services',
      'Production'))) %>% 
  arrange(layer)
#> # A tibble: 5 x 1
#>   layer              
#>   <fct>              
#> 1 CEOS and managers  
#> 2 Professionals      
#> 3 Technicians        
#> 4 Clerks and services
#> 5 Production

Создано 11 января 2021 года пакетом REPEX (v0.3.0)

person Magnus Nordmo    schedule 11.01.2021