Работа с факторами: поместите две функции в dplyr - PullRequest
1 голос
/ 09 октября 2019

Я просто искал более аккуратный способ получить выходные данные следующих данных:

library(dplyr)
librray(gapminder)

gapminder$continent %>% class() 
gapminder$continent %>% nlevels()
gapminder$continent %>% levels()
gapminder$continent %>% str()

Это выглядит bhit повторяющимся, поэтому я хочу объединить его в одну строку, используя dplyr, поэтому я попыталсяследующее:

gapminder$continent %>% class() %>% nlevels() %>% levels() %>% str()
#AND
gapminder %>% summarise_at(vars(continent), list(class = class, nlevels = nlevels,levels= levels))

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

gapminder$continent = gapminder$continent %>%
  fct_relevel( "Oceania", "Europe")

gapminder %>%
  ggplot() +
  geom_bar(aes(fct_relevel( continent,"Africa", "Oceania"))) +
  coord_flip()+
  theme_bw() +
  labs(color = "country") 

Могу ли я объединить их вместе?

1 Ответ

2 голосов
/ 09 октября 2019

Если мы хотим применить набор функций, оберните его в list

library(gapminder)
library(purrr)
library(dplyr)
map(list(class, nlevels, levels, str), ~ 
       gapminder %>%
         pull(continent) %>% 
         .x())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...