使用因子:将两个函数放入dplyr

问题描述 投票:0回答:1

我只是在寻找一种整理方法来获取以下数据的输出:

library(dplyr)
librray(gapminder)

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

它看起来像是重复的,所以我想使用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") 

我可以将它们组合在一起吗?

r dplyr factors
1个回答
0
投票

如果要应用一组函数,请将其包装在list

library(gapminder)
library(purrr)
library(dplyr)
map(list(class, nlevels, levels, str), ~ 
       gapminder %>%
         pull(continent) %>% 
         .x())
© www.soinside.com 2019 - 2024. All rights reserved.