#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.html3. @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