在函数中返回多个 Object - 整洁的 Chisq.Test Tibble 和 Ggplot
Returning More Than One Object in a Function - a Tidy Chisq.Test Tibble and Ggplot
library(ggmosaic)
library(dplyr)
library(purrr)
library(tidyr)
library(broom)
library(tibble)
使用下面的代码,我希望该函数能够输出整洁的小标题和 ggplot。我不确定如何在函数中使用 "return" 来 return 不止一件事。
我试过这样的东西...
Chifun<-function(var){
df<-happy%>%select(-id,-year,-age,-wtssall)%>%
map(~chisq.test(.x,happy[,var]))%>%
tibble(names=names(.),data=.)%>%
mutate(stats=map(data,tidy))%>%unnest(stats)
GG<-ggplot(df)+ geom_col(aes_string(x="names",y="p.value"))
return(df,GG)}
...还有这个...
Chifun<-function(var){
df<-happy%>%select(-id,-year,-age,-wtssall)%>% map(~chisq.test(.x,happy[,var]))
%>%tibble(names=names(.),data=.)%>%
mutate(stats=map(data,tidy))%>%unnest(stats)
return(df)
GG<-function(var){ggplot(df)+
geom_col(aes_string(x="names",y="p.value"))
return(GG)
}
}
我已经尝试了一些其他变体,因此我们将不胜感激。
当您想要 return 多个项目时使用列表:
Chifun<-function(var){
df<-happy %>% select(-id,-year,-age,-wtssall) %>%
map(~chisq.test(.x,happy[,var])) %>%
tibble(names=names(.),data=.) %>%
mutate(stats=map(data,tidy))%>%unnest(stats)
GG<-ggplot(df)+ geom_col(aes_string(x="names",y="p.value"))
return( list(dfrm = df,plotGG = GG) ) }
library(ggmosaic)
library(dplyr)
library(purrr)
library(tidyr)
library(broom)
library(tibble)
使用下面的代码,我希望该函数能够输出整洁的小标题和 ggplot。我不确定如何在函数中使用 "return" 来 return 不止一件事。
我试过这样的东西...
Chifun<-function(var){
df<-happy%>%select(-id,-year,-age,-wtssall)%>%
map(~chisq.test(.x,happy[,var]))%>%
tibble(names=names(.),data=.)%>%
mutate(stats=map(data,tidy))%>%unnest(stats)
GG<-ggplot(df)+ geom_col(aes_string(x="names",y="p.value"))
return(df,GG)}
...还有这个...
Chifun<-function(var){
df<-happy%>%select(-id,-year,-age,-wtssall)%>% map(~chisq.test(.x,happy[,var]))
%>%tibble(names=names(.),data=.)%>%
mutate(stats=map(data,tidy))%>%unnest(stats)
return(df)
GG<-function(var){ggplot(df)+
geom_col(aes_string(x="names",y="p.value"))
return(GG)
}
}
我已经尝试了一些其他变体,因此我们将不胜感激。
当您想要 return 多个项目时使用列表:
Chifun<-function(var){
df<-happy %>% select(-id,-year,-age,-wtssall) %>%
map(~chisq.test(.x,happy[,var])) %>%
tibble(names=names(.),data=.) %>%
mutate(stats=map(data,tidy))%>%unnest(stats)
GG<-ggplot(df)+ geom_col(aes_string(x="names",y="p.value"))
return( list(dfrm = df,plotGG = GG) ) }