R中的分组箱线图-我的错误在哪里?
我尝试使用aes(x=…,y=…,fill=…)来绘制箱线图。不知怎的,它不起作用了。应该是这样的: (第一张照片) 但加上红色的平均值和标准偏差 我有一个数据框,其中包含一个人的编号R中的分组箱线图-我的错误在哪里?,r,ggplot2,boxplot,R,Ggplot2,Boxplot,我尝试使用aes(x=…,y=…,fill=…)来绘制箱线图。不知怎的,它不起作用了。应该是这样的: (第一张照片) 但加上红色的平均值和标准偏差 我有一个数据框,其中包含一个人的编号p(在调查中询问),两个问题的答案q1和q2(按1到4的比例)以及他们所属的组G。有人能帮我找到错误吗 library(mosaic) library(effects) library(openxlsx) library(corrgram) library(GGall
p
(在调查中询问),两个问题的答案q1
和q2
(按1到4的比例)以及他们所属的组G
。有人能帮我找到错误吗
library(mosaic)
library(effects)
library(openxlsx)
library(corrgram)
library(GGally)
library(vcd)
library(corrplot)
library(ggpubr)
library(dplyr)
library(tidyr)
library(ggplot2)
l1 = c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,3,3,3,4,5,2,3,3,3,3,3,3,4,4,5,5,5,4,3,3,2,2,1,1,2,2,3,3,3,3,4,4,4,3,3,4,4,4,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,4,4,4,4,3,3,2,2,2,2)
l2 = c("N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A",2,2,2,2,2,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,3,3,3,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,4,5,5,5,5,5,5,5,5,4,4,4,4,4,3,3,3,3,2,2,2,1,1,1,1,1)
l3 = c(1,2,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,2,1,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1)
df <- data.frame (p = c(1:20),
q1=l1[1:20],
q2=l2[1:20],
G=l3[1:20]
)
dfn<-df %>% replace_with_na_all(condition = ~.x == "N/A")
dfn$q1<-as.numeric(dfn$q1)
dfn$q2<-as.numeric(dfn$q2)
dfn$G<-as.numeric(dfn$G)
#-----------------------------------------------------
preparedataboxplot <- select(dfn,p,q1,q2,G) %>% gather(key='Question_num', value='Antwort', -c(p,G))
preparedataboxplot <- preparedataboxplot %>% drop_na()
preparedataboxplot$Antwort<-unlist(preparedataboxplot$Antwort)
preparedataboxplot$G[preparedataboxplot$G == 2] <- 'B'
preparedataboxplot$G[preparedataboxplot$G == 1] <- 'A'
ggplot(preparedataboxplot,aes(x=factor(Question_num),y=Antwort,fill=G))+
stat_boxplot()+
geom_boxplot()+
stat_summary(fun=mean, geom="point", size=2,color="red")+
stat_summary(
fun.min = function(x) mean(x) - sd(x),
fun.max = function(x) mean(x) + sd(x))
库(马赛克)
图书馆(效果)
库(openxlsx)
图书馆(corrgram)
图书馆(GGALY)
图书馆(vcd)
图书馆(corrplot)
图书馆(ggpubr)
图书馆(dplyr)
图书馆(tidyr)
图书馆(GG2)
1.2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4,3,3,2,2,2,2)
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,4,4,3,3,4,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 4,4,4,4,3,3,3,2,2,1,1,1,1,1)
1.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2(2,2,2,2,1,1,1)
df多亏了各位对我问题的评论,我找到了一个有效的解决方案:
ggplot(preparedataboxplot,aes(x=factor(Question_num),y=Antwort,fill=G))+
stat_boxplot(geom='errorbar',width=0.8)+
geom_boxplot(width=0.8)+
stat_summary(position=position_dodge(.9),fun=mean, geom="point",size=2,color="red")+
stat_summary(
fun.min = function(x) mean(x) - sd(x),
fun.max = function(x) mean(x) + sd(x),
geom = "errorbar",
color = "red",position=position_dodge(.9),
width = .3
)
您必须设置位置参数。尝试将position=position\u dodge(.75)
添加到统计摘要。有关添加文本标签的相关问题,请参阅。