gpt4 book ai didi

r - 用列循环 ggplot2

转载 作者:行者123 更新时间:2023-12-04 23:59:52 25 4
gpt4 key购买 nike

我试图遍历数据框和列以生成多个图。我有一个数据框列表,对于每个数据框,我想针对多个预测变量之一绘制响应。

例如,我可以轻松地遍历数据帧:

df1=data.frame(response=rpois(10,1),value1=rpois(10,1),value2=rpois(10,1))
df2=data.frame(response=rpois(10,1),value1=rpois(10,1),value2=rpois(10,1))

#Looping across data frames
lapply(list(df1,df2), function(i) ggplot(i,aes(y=response,x=value1))+geom_point())

但是我在数据框中跨列循环时遇到问题:
lapply(list("value1","value2"), function(i) ggplot(df1,aes_string(x=i,y=response))+geom_point())

我怀疑这与我对待美学的方式有关。

最终想串起来 lapply生成数据框和列的所有组合。

任何帮助表示赞赏!

编辑:乔兰有!使用 aes_string 时必须将非列表响应放在引号中
lapply(list("value1","value2"), function(i) ggplot(df1,aes_string(x=i,y="response"))+geom_point())

作为引用,这里正在串接 lapply生成所有组合的函数:
lapply(list(df1,df2), function(x)
lapply(list("value1","value2"), function(i) ggplot(x,aes_string(x=i,y="response"))+geom_point() ) )

最佳答案

内部 aes_string() ,所有变量都需要表示为 character .在“响应”周围添加引号。

lapply(list("value1","value2"), 
function(i) ggplot(df1, aes_string(x=i, y="response")) + geom_point())

关于r - 用列循环 ggplot2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11547448/

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