gpt4 book ai didi

r - ..count.. 或 ..density.. 作为 ggplot2 中的变量名

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

我想最终做到这一点:

library(ggplot2)
density=TRUE
if (density) {ggplot(diamonds,aes(x=price)) + geom_histogram(aes(y=..density..),binwidth=1000) + facet_wrap(~color)
} else ggplot(diamonds,aes(x=price)) + geom_histogram(aes(y=..count..),binwidth=1000) + facet_wrap(~color)

但我想为“..count..”或“..density..”使用变量名。我尝试了几件事但失败了:
if (density) {y.scale ="..density.."} else y.scale ="..count.."

ggplot(diamonds,aes(x=price)) + geom_histogram(aes(y=get(y.scale)),binwidth=1000) + facet_wrap(~color)

ggplot(diamonds,aes(x=price)) + geom_histogram(aes(as.formula(paste("y=",y.scale))),binwidth=1000) + facet_wrap(~color)

任何想法如何将变量名传递给 aes()?

最佳答案

我认为你在追求 aes_string()而不是 aes() :http://docs.ggplot2.org/current/aes_string.html


foo <- "..density.."

ggplot(diamonds, aes(price)) +
geom_histogram(aes_string(y = foo),binwidth=1000) +
facet_wrap(~color)

关于r - ..count.. 或 ..density.. 作为 ggplot2 中的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16904745/

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