我想为数据帧(df)中的每一列创建并保存不同的图形。
背景:我的df称为final_fam_beliefs_percs 使用R 使用ggplot
到目前为止,我已经能够使用ggplot创建绘图功能,并使用“ lapply”将该功能应用于每个columneach列。请参阅以下代码:
graph_outputs <- lapply(final_fam_beliefs_percs, function(i) ggplot(final_fam_beliefs_percs, aes(x=location, y=as.numeric(i), fill=response)) +
geom_bar(stat="identity", position=position_dodge()) +
geom_text(aes(label=i), position=position_dodge(width=0.9), vjust=-0.25) +
labs(x= "location", y="percentage"))
link for a above code graph output for one of the df columns
我现在想将每个图形另存为单独的png文件。 我已经尝试了下面的代码,但是当我的图形打印时,它们不再包含数据。
var_list= colnames(final_fam_beliefs_percs)
for (i in var_list) {
plots = ggplot(final_fam_beliefs_percs, aes(x=location, y=as.numeric(i), fill=response)) +
geom_bar(stat="identity", position=position_dodge()) +
geom_text(aes(label=i), position=position_dodge(width=0.9), vjust=-0.25) +
labs(x= "location", y="percentage") + ggtitle(i)
ggsave(plots, file=paste0("rr_",i,".png"))
}
我认为我需要更改y = as.numeric(i)语句,或使用其他一些映射方法。