Сворачивание столбцов в версии R Easy

#r #tidyverse #forcats

#r #tidyverse #для кошек

Вопрос:

Я знаю, что уже есть несколько вопросов, похожих на этот, но я новичок в r, и я просто не могу понять ответы на них! Если вы сможете дать простой, не такой сложный ответ на мой вопрос, я был бы очень признателен!!

Я пытаюсь свернуть категории в столбце в моем фрейме данных, сводка которого выглядит следующим образом (категория = n):

 1-Self = 62
2-Mother = 0
3-Father = 43
4-Grandfather = 142
5-Grandmother = 17
6-Uncle = 1
7-Brother = 2
8-Husband = 5
9-Aunt = 0
10-Sister = 2
11-CommunityInfluencer = 1
12-ReligiousFigure = 0
13-Other = 4
14-N/A = 9
  

Я хотел бы объединить категории 6-14, но все они находятся в одном столбце, как мне это сделать? Если бы вы могли предоставить структуру для того, как просто это закодировать, я был бы очень признателен!

Спасибо!

Комментарии:

1. Привет, Кэт, и добро пожаловать, я уверен, что кто-то был бы рад помочь, но для этого нам нужно лучше понять ваши данные, не могли бы вы, пожалуйста dput(head(yourdataframe, 10))

2. Если я правильно понял ваш вопрос, forcats::fct_lump вероятно, он выполнит эту работу здесь forcats.tidyverse.org/reference/fct_lump.html

3. @NColl, это очень полезно. Не могли бы вы поделиться примером использования forcats? Я не совсем понимаю, как это использовать.

4. @ChuckP Я включил это в свой фрейм данных. Спасибо!

Ответ №1:

Используя forcats::fct_other , вы можете указать, какие категории вы хотите объединить в категорию «Другие»

В качестве примера:

 library(tidyverse)

drop_cats <- c("Naboo", "Stewjon")

starwars %>%
  mutate(homeworld =  fct_other(homeworld, drop = drop_cats)) 

A tibble: 87 x 13
   name       height  mass hair_color   skin_color eye_color birth_year gender homeworld species films  vehicles starships
   <chr>       <int> <dbl> <chr>        <chr>      <chr>          <dbl> <chr>  <fct>     <chr>   <list> <list>   <list>   
 1 Luke Skyw…    172    77 blond        fair       blue            19   male   Tatooine  Human   <chr … <chr [2<chr [2]>
 2 C-3PO         167    75 NA           gold       yellow         112   NA     Tatooine  Droid   <chr … <chr [0<chr [0]>
 3 R2-D2          96    32 NA           white, bl… red             33   NA     Other     Droid   <chr … <chr [0<chr [0]>
 4 Darth Vad…    202   136 none         white      yellow          41.9 male   Tatooine  Human   <chr … <chr [0<chr [1]>
 5 Leia Orga…    150    49 brown        light      brown           19   female Alderaan  Human   <chr … <chr [1<chr [0]>
 6 Owen Lars     178   120 brown, grey  light      blue            52   male   Tatooine  Human   <chr … <chr [0<chr [0]>
 7 Beru Whit…    165    75 brown        light      blue            47   female Tatooine  Human   <chr … <chr [0<chr [0]>
 8 R5-D4          97    32 NA           white, red red             NA   NA     Tatooine  Droid   <chr … <chr [0<chr [0]>
 9 Biggs Dar…    183    84 black        light      brown           24   male   Tatooine  Human   <chr … <chr [0<chr [1]>
10 Obi-Wan K…    182    77 auburn, whi… fair       blue-gray       57   male   Other     Human   <chr … <chr [1<chr [5]>
# … with 77 more rows