Цикл for для нескольких графов Ликерта НИЧЕГО не возвращает - PullRequest
0 голосов
/ 12 апреля 2019

Я настроил большое количество графиков Ликерта и других для оценки общих результатов моей анкеты.

Теперь я хотел бы сделать то же самое с помощью переменной группировки "group"

Я установил все свои элементы likert и их определения (мои данные в ужасном формате, поэтому мне пришлось переформатировать их с помощью R).Идея кода заключается в следующем: 1. сгруппировать и переименовать вопросы в соответствии с потребностями функций likert () 2. сделать R разбить фрейм данных по 11 группам 3. построить график likert для каждой из этих групп

Теперь это должно быть решением (оно работало для графиков, но по какой-то причине не работает для графиков Ликерта):

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
  1. Изменить данные с числовых на элементы в стиле Ликертасоглашения

    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
    
  2. Установить шкалу соглашения

    agr<-c("stronlgy agree", "agree", "unsure", "disagree", "strongly disagree")
    
  3. Определить каждый как упорядоченные коэффициенты для ранее определенной шкалы

    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)
    
  4. установить заголовок на sth funny

    title.DATA <- "Это сообщение не будет отображаться, потому что R глупо." </p>

  5. запрограммируйте цикл и наблюдайте, как R НИЧЕГО не делает

    для (i в 1:11) {x <-DATA [which (DATA $ group == i),] plot (likert (x [1: 9])), low.color = "red3", high.color = "forestgreen", include.center = T, plot.percents = T, упорядоченный = T, legend = paste ("ДАННЫЕ", "Группа", i), легенда.position = "bottom", plot.percent.low = F, plot.percent.high = F) + ylab (ylab) + ggtitle (title.DATA)} </p>

1 Ответ

1 голос
/ 15 апреля 2019

У меня так работает. Я сам столкнулся с этой проблемой недавно. графические графики печатаются автоматически в виде петель, а сеточные графики - нет. Для них вы должны добавить 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)
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...