Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-使用多因素水平绘制问卷中每个问题答案的正确性_R_Ggplot2 - Fatal编程技术网

R-使用多因素水平绘制问卷中每个问题答案的正确性

R-使用多因素水平绘制问卷中每个问题答案的正确性,r,ggplot2,R,Ggplot2,我从对不同学校类型学生的问卷调查中获得数据。问卷包含14个问题(0=假,1=右),共有4种不同的学校类型。我现在正试图按学校类型划分每个问题的平均正确率。我想我可以把这些问题连续地画在x轴上,也许是条线 数据如下所示: 天然橡胶 学校类型 任务1 任务2 任务3 任务4 任务5 1. 主要的,重要的 1. 0 0 1. 0 2. 次要的 0 0 1. 1. 0 3. 较高的 1. 1. 1. 0 1. 4. 次要的 0 0 1. 1. 1. 5. 主要的,重要的 0 0 0 0 0 6. 主要的

我从对不同学校类型学生的问卷调查中获得数据。问卷包含14个问题(0=假,1=右),共有4种不同的学校类型。我现在正试图按学校类型划分每个问题的平均正确率。我想我可以把这些问题连续地画在x轴上,也许是条线

数据如下所示:

天然橡胶 学校类型 任务1 任务2 任务3 任务4 任务5 1. 主要的,重要的 1. 0 0 1. 0 2. 次要的 0 0 1. 1. 0 3. 较高的 1. 1. 1. 0 1. 4. 次要的 0 0 1. 1. 1. 5. 主要的,重要的 0 0 0 0 0 6. 主要的,重要的 1. 1. 0 0 0 7. 较高的 1. 1. 1. 1. 1. 8. 次要的 0 0 1. 1. 1.
也许这种方法很有用:

library(tidyverse)
#Code
df %>% pivot_longer(-School.type) %>%
  group_by(School.type,name) %>%
  summarise(Avg=mean(value==1)) %>%
  ggplot(aes(x=name,y=Avg,fill=School.type))+
  geom_bar(stat = 'identity',position = position_dodge(0.9),color='black')+
  theme_bw()+xlab('Question')
输出:

使用的一些数据:

#Data
df <- structure(list(School.type = c("Primary", "Secondary", "Higher", 
"Secondary", "Primary", "Primary", "Higher", "Secondary"), Quest1 = c(1L, 
0L, 1L, 0L, 0L, 1L, 1L, 0L), Quest2 = c(0L, 0L, 1L, 0L, 0L, 1L, 
1L, 0L), Quest3 = c(0L, 1L, 1L, 1L, 0L, 0L, 1L, 1L), Quest4 = c(1L, 
1L, 0L, 1L, 0L, 0L, 1L, 1L), Quest5 = c(0L, 0L, 1L, 1L, 0L, 0L, 
1L, 1L)), class = "data.frame", row.names = c(NA, -8L))
#数据

df是您关于可视化此数据的最佳方法,或如何使用
ggplot2
从数据创建特定类型的绘图的问题?非常感谢,这很有帮助!不幸的是,问题的顺序不对。有可能解决这个问题吗?@JustusBlaschke你想要哪个订单?你能告诉我吗?从问题1到问题5。在实际数据中,曲线图从问题1开始,然后进入问题10-13,接着是问题2-9。谢谢大家!@JustusBlaschke只需在组前添加此代码,按行
mutate(name=factor(name),levels=unique(name),ordered=T)%%>%