首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一个函数中返回多个对象-一个整洁的Chisq.Test Tibble和Ggplot

在一个函数中返回多个对象-一个整洁的Chisq.Test Tibble和Ggplot
EN

Stack Overflow用户
提问于 2017-02-26 15:01:33
回答 1查看 100关注 0票数 0
代码语言:javascript
复制
library(ggmosaic)
library(dplyr)
library(purrr)
library(tidyr)
library(broom)
library(tibble)

使用下面的代码,我想让函数输出整洁的tibble和ggplot。我不确定如何在函数中使用" return“来返回多个内容。

我试过像这样的东西...

代码语言:javascript
复制
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)}

...as和这个一样...

代码语言:javascript
复制
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)
}
}    

我已经尝试了其他一些变体,所以如果有任何帮助,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-26 15:45:26

当您想要返回多个项目时,请使用列表:

代码语言:javascript
复制
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) ) }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42465686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档