gpt4 book ai didi

r - 如何在函数中编写 facet_wrap (ggplot2)

转载 作者:行者123 更新时间:2023-12-04 12:02:37 24 4
gpt4 key购买 nike

我写了一个函数来绘制条形图。但是当我开始多面包装时,'~' 符号让事情变得困难。

rf.funct <- function(dat, predictor, feature){
ggplot(get(dat), aes(get(predictor), N)) +
geom_bar(stat = 'identity') +
facet_wrap(get(~feature)) # this is where the problem is
}

我尝试了以下方法:
facet_wrap((get(~feature))) # invalid first argument
facet_wrap(paste0("~ ", get(feature))) # object 'feature' not found

我如何确保“~”符号包含在函数中?

最佳答案

您不需要使用 get .您已使用 dat 将数据框传递到函数中争论,所以只需提供 dat到 ggplot,它将拥有来自其环境中的数据。

rf.funct <- function(dat, predictor, feature) {
ggplot(dat, aes_string(predictor, "N")) +
geom_bar(stat = 'identity') +
facet_wrap(feature)
}
predictorfeature参数应作为字符串输入。那么你可以使用 aes_string指定美学。 facet_wrap现在可以直接采用字符向量,而无需公式(如@WeihuangWong 所指出的)。

关于r - 如何在函数中编写 facet_wrap (ggplot2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40645233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com