gpt4 book ai didi

r - 将参数传递给ggplot

转载 作者:行者123 更新时间:2023-12-03 12:27:24 25 4
gpt4 key购买 nike

想要创建一个使用ggplot生成图形的函数。为了简单起见,典型的图形可能是

ggplot(car, aes(x=speed, y=dist)) + geom_point() 

我要创建的函数属于此类
f <- function(DS, x, y) ggplot(DS, aes(x=x, y=y)) + geom_point()

但是,这将不起作用,因为x和y不是字符串。在先前的SO问题(例如 this one)中已经注意到了这个问题,但在我看来并没有提供令人满意的答案。一个人如何修改上面的函数以使其与任意数据帧一起使用?

最佳答案

一种解决方案是将x和y作为数据帧DS中列的字符串名称传递。

f <- function(DS, x, y) {    
ggplot(DS, aes_string(x = x, y = y)) + geom_point()
}

然后将函数调用为:
f(cars, "speed", "dist")

但是,您似乎不想要那个?您能否举例说明为什么需要其他功能?是因为您不想在同一数据框中使用参数吗?

关于r - 将参数传递给ggplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6488748/

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