当前使用此循环迭代列名并创建与每次循环迭代相关的图。问题是只有最后一次迭代被用于创建绘图。
我正在遍历5个变量,编号5用于在循环后创建5个图。我需要在单独的图中绘制每个变量。
为什么会这样?
col<-names(gbuas_focus[,5:10])
for(i in col) {
print(i)
ua_p<-ggplot(gbuas_focus,aes(x=i,y=id))+
geom_point(col="green",
size=3)+
labs(y='User Agent Strings',
title="Understanding Misclassifying Variables") +
facet_wrap(~classification)
print(ua_p)
}
编辑: 该问题被视为重复问题。提供的链接没有回答我的问题。幸运的是,@ mischva11在下面的评论中为我的问题提供了一个很好的答案。
我的新代码如下:
for(i in col) {
print(i)
ua_p<-ggplot(gbuas_focus,aes_string(x=i,y=seq(1,nrow(gbuas_focus))))+
geom_point(color="green",
size=3)+
labs(x='Variable of Interest',
y='User Agent Strings',
title="Understanding Misclassifying Variables") +
facet_wrap(~classification)
print(ua_p)
}
EDIT-2:经过进一步的努力,我开发了适合我最初兴趣的循环。它的功能完全符合我的期望。
for(i in col) {
print(i)
ua_p<-ggplot(gbuas_focus
)+
geom_point(aes_string(
x=i,
y='uas_id'),
color="green",
size=3
)+
labs(x='Variable of Score',
y='User Agent Strings',
title="Understanding Misclassifying Variables"
)+
facet_wrap(~classification)
print(ua_p)
}