由于某种原因,我不明白,为什么当我运行一个ggplot
循环来创建多个图表时,我在环境中看不到它们,因此无法进一步显示图表。
db = data.frame(exposure = sample(1:100, 100),
exposure2 = sample(-90:100,100),
outcome = sample(200:1000,100))
exposure_vector = c("exposure","exposure2")
exposure_title = c("Pesticide","Apple")
for (i in 1:length(exposure_vector)) {
current_exposure = db[[exposure_vector[i]]]
title = exposure_title[i]
graph_name = paste0(title,"_","Graph")
graph_name=ggplot(db,aes(x=current_exposure,y=outcome))+geom_smooth()+
theme_bw()+ylab("outcome")+xlab("exposure")+ggtitle(title)
print(graph_name)
}
3条答案
按热度按时间idfiyjo81#
这可能是一个更好的方法来完成你要做的事情。你可以对你的标题和曝光向量进行
mapply
,它将返回一个list
的图表,你可以通过名称来引用它:第一个
mctunoxg2#
graphname
超出范围。您需要在循环外声明它。
比如说
6yjfywim3#
我假设你想给变量
paste0(title, "_", "Graph")
赋值,如果这是正确的,你应该使用assign