多个李克特图的 for 循环 returns 没什么
A for loop for multiple likert graphs returns NOTHING
我设置了大量的李克特和其他图表来评估我问卷的总结果。
现在我想通过分组变量做同样的事情"group"
我设置了我所有的李克特项目及其定义(我的数据是 god-awful 格式,所以我不得不用 R 重新格式化)。代码的思路如下:
1.根据likert()函数需要对题目进行分组和重命名
2.让R根据11组拆分数据帧
3. 为每个组绘制李克特图
现在这应该是解决方案(它适用于条形图,但由于某种原因不适用于李克特图):
for(i in 1:11)
{
x<-F5[which(F5$group==i),]
plot(likert(x[1:9]),low.color="red3", high.color="forestgreen",
include.center=T, plot.percents=T,ordered=T,
legend= paste("F5","Gruppe",i),
legend.position="bottom",
plot.percent.low=F,plot.percent.high=F)+ylab(ylab)+ggtitle(title.F5)
}
当我 运行 这段代码完全没有发生。没有绘制李克特图,没有错误消息等
示例数据,以便每个人都可以加入其中:
M1 M2 M3 M4 M5 M6 M7 M8 M9 group
1 1 5 5 1 2 4 4 -9 5 1
2 2 4 5 1 2 4 4 1 5 1
3 3 3 5 1 2 4 3 1 3 1
4 1 5 5 1 2 4 4 -9 5 1
5 2 4 5 1 2 4 4 1 5 2
6 1 5 5 1 2 4 4 -9 5 2
7 2 4 5 1 2 4 4 1 5 2
8 3 3 5 1 2 4 3 1 3 3
9 4 5 5 1 2 4 -9 1 3 3
10 5 5 -9 1 3 4 4 2 -9 3
11 3 3 5 1 2 4 3 1 3 3
12 4 5 5 1 2 4 -9 1 3 4
13 5 5 -9 1 3 4 4 2 -9 3
14 5 5 -9 1 3 4 4 2 -9 3
15 3 3 5 1 2 4 3 1 3 4
16 1 5 5 1 2 4 4 -9 5 4
17 2 4 5 1 2 4 4 1 5 4
18 1 5 5 1 2 4 4 -9 5 4
19 2 4 5 1 2 4 4 1 5 4
20 3 3 5 1 2 4 3 1 3 4
将数据从数字更改为 likert-style 项协议
DATA[,1:9][DATA[,1:9]==1]<-"strongly agree"
DATA[,1:9][DATA[,1:9]==2]<-"agree"
DATA[,1:9][DATA[,1:9]==3]<-"unsure"
DATA[,1:9][DATA[,1:9]==4]<-"disagree"
DATA[,1:9][DATA[,1:9]==5]<-"strongly disagree"
DATA[,1:9][DATA[,1:9]==-9]<-NA
设置协议规模
agr<-c("stronlgy agree", "agree", "unsure", "disagree", "strongly disagree")
将每个定义为先前定义的比例的有序因子
DATA[,1]=factor(DATA[,1], levels=agr, ordered=TRUE)
DATA[,2]=factor(DATA[,2], levels=agr, ordered=TRUE)
DATA[,3]=factor(DATA[,3], levels=agr, ordered=TRUE)
DATA[,4]=factor(DATA[,4], levels=agr, ordered=TRUE)
DATA[,5]=factor(DATA[,5], levels=agr, ordered=TRUE)
DATA[,6]=factor(DATA[,6], levels=agr, ordered=TRUE)
DATA[,7]=factor(DATA[,7], levels=agr, ordered=TRUE)
DATA[,8]=factor(DATA[,8], levels=agr, ordered=TRUE)
DATA[,9]=factor(DATA[,9], levels=agr, ordered=TRUE)
将标题设置为有趣的某事
title.DATA<-"This message will not show up because R is stupid."
编写一个循环并观察 R 什么都不做
for(我在1:11)
{
x<-DATA[哪个(DATA$group==i),]
情节(李克特(x[1:9]),low.color="red3",high.color="forestgreen",
include.center=T, plot.percents=T,有序=T,
图例=粘贴("DATA","Gruppe",i),
legend.position="bottom",
plot.percent.low=F,plot.percent.high=F)+ylab(ylab)+ggtitle(title.DATA)
}
对我来说很管用。我最近自己遇到了这个问题。图形图会自动循环打印,而网格图则不会。对于他们,您必须添加 print
.
library(likert)
for(i in 1:4) { x<-DATA[which(DATA$group==i),]
lp <- plot(likert(x[1:9]),low.color="red3",
high.color="forestgreen", include.center=T,
plot.percents=T,ordered=T, legend= paste("DATA","Gruppe", i),
legend.position="bottom", plot.percent.low=F,plot.percent.high=F) +
ylab("ylab") +
ggtitle("This message will not show up because R is stupid.")
print(lp)
}
我设置了大量的李克特和其他图表来评估我问卷的总结果。
现在我想通过分组变量做同样的事情"group"
我设置了我所有的李克特项目及其定义(我的数据是 god-awful 格式,所以我不得不用 R 重新格式化)。代码的思路如下: 1.根据likert()函数需要对题目进行分组和重命名 2.让R根据11组拆分数据帧 3. 为每个组绘制李克特图
现在这应该是解决方案(它适用于条形图,但由于某种原因不适用于李克特图):
for(i in 1:11)
{
x<-F5[which(F5$group==i),]
plot(likert(x[1:9]),low.color="red3", high.color="forestgreen",
include.center=T, plot.percents=T,ordered=T,
legend= paste("F5","Gruppe",i),
legend.position="bottom",
plot.percent.low=F,plot.percent.high=F)+ylab(ylab)+ggtitle(title.F5)
}
当我 运行 这段代码完全没有发生。没有绘制李克特图,没有错误消息等
示例数据,以便每个人都可以加入其中:
M1 M2 M3 M4 M5 M6 M7 M8 M9 group
1 1 5 5 1 2 4 4 -9 5 1
2 2 4 5 1 2 4 4 1 5 1
3 3 3 5 1 2 4 3 1 3 1
4 1 5 5 1 2 4 4 -9 5 1
5 2 4 5 1 2 4 4 1 5 2
6 1 5 5 1 2 4 4 -9 5 2
7 2 4 5 1 2 4 4 1 5 2
8 3 3 5 1 2 4 3 1 3 3
9 4 5 5 1 2 4 -9 1 3 3
10 5 5 -9 1 3 4 4 2 -9 3
11 3 3 5 1 2 4 3 1 3 3
12 4 5 5 1 2 4 -9 1 3 4
13 5 5 -9 1 3 4 4 2 -9 3
14 5 5 -9 1 3 4 4 2 -9 3
15 3 3 5 1 2 4 3 1 3 4
16 1 5 5 1 2 4 4 -9 5 4
17 2 4 5 1 2 4 4 1 5 4
18 1 5 5 1 2 4 4 -9 5 4
19 2 4 5 1 2 4 4 1 5 4
20 3 3 5 1 2 4 3 1 3 4
将数据从数字更改为 likert-style 项协议
DATA[,1:9][DATA[,1:9]==1]<-"strongly agree" DATA[,1:9][DATA[,1:9]==2]<-"agree" DATA[,1:9][DATA[,1:9]==3]<-"unsure" DATA[,1:9][DATA[,1:9]==4]<-"disagree" DATA[,1:9][DATA[,1:9]==5]<-"strongly disagree" DATA[,1:9][DATA[,1:9]==-9]<-NA
设置协议规模
agr<-c("stronlgy agree", "agree", "unsure", "disagree", "strongly disagree")
将每个定义为先前定义的比例的有序因子
DATA[,1]=factor(DATA[,1], levels=agr, ordered=TRUE) DATA[,2]=factor(DATA[,2], levels=agr, ordered=TRUE) DATA[,3]=factor(DATA[,3], levels=agr, ordered=TRUE) DATA[,4]=factor(DATA[,4], levels=agr, ordered=TRUE) DATA[,5]=factor(DATA[,5], levels=agr, ordered=TRUE) DATA[,6]=factor(DATA[,6], levels=agr, ordered=TRUE) DATA[,7]=factor(DATA[,7], levels=agr, ordered=TRUE) DATA[,8]=factor(DATA[,8], levels=agr, ordered=TRUE) DATA[,9]=factor(DATA[,9], levels=agr, ordered=TRUE)
将标题设置为有趣的某事
title.DATA<-"This message will not show up because R is stupid."
编写一个循环并观察 R 什么都不做
for(我在1:11) { x<-DATA[哪个(DATA$group==i),] 情节(李克特(x[1:9]),low.color="red3",high.color="forestgreen", include.center=T, plot.percents=T,有序=T, 图例=粘贴("DATA","Gruppe",i), legend.position="bottom", plot.percent.low=F,plot.percent.high=F)+ylab(ylab)+ggtitle(title.DATA) }
对我来说很管用。我最近自己遇到了这个问题。图形图会自动循环打印,而网格图则不会。对于他们,您必须添加 print
.
library(likert)
for(i in 1:4) { x<-DATA[which(DATA$group==i),]
lp <- plot(likert(x[1:9]),low.color="red3",
high.color="forestgreen", include.center=T,
plot.percents=T,ordered=T, legend= paste("DATA","Gruppe", i),
legend.position="bottom", plot.percent.low=F,plot.percent.high=F) +
ylab("ylab") +
ggtitle("This message will not show up because R is stupid.")
print(lp)
}