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

使用因子:将两个函数放入dplyr,r,dplyr,factors,R,Dplyr,Factors,我只是在寻找一种更整洁的方法来获得以下数据的输出: library(dplyr) librray(gapminder) gapminder$continent %>% class() gapminder$continent %>% nlevels() gapminder$continent %>% levels() gapminder$continent %>% str() 它看起来是重复的,所以我想用dplyr将它合并成一行,所以我尝试了以下方法: gapmind

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

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") 

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

如果我们想应用一组函数,请将其包装在
列表中

library(gapminder)
library(purrr)
library(dplyr)
map(list(class, nlevels, levels, str), ~ 
       gapminder %>%
         pull(continent) %>% 
         .x())

不清楚你在追求什么。您是否需要
gapminder%>%summary(class=class(大陆),nlev=nlevels(大陆))
gapminder%>%summary_at(vars(大陆),list(class=class,nlevels=nlevels))
我看不到输出文件有什么不同。我只是想用以下命令来探索因素的结构:
class(gapminder$contraction)levels(gapminder$contraction)nlevels(gapminder$contraction)str(gapminder$contraction)
您想要得到的确切输出是什么?非常感谢,你能解释一下以下操作吗:
~
为什么要放
.x()
做什么?@user3617715
~
tilda是在tidyverse中传递匿名函数的一种方法。如果不这样做,可以使用
函数(x)x
,其中
x
替换
.x