在条形图中获取多个误差线 (R)

问题描述

我试图用 4 个自变量在 R 中绘制条形图 - 时间(t1,t2),组(1,2,3,4,5),距离(远和近)和提示(有效和无效) ) 以 RT 作为因变量。同样,我使用了以下代码

ggplot(b,aes(x=cue,y=RT,fill = cue))+
  geom_bar(stat="identity",position = position_dodge(),width = .9)+
  facet_grid(group~time,space="free_x") +
  geom_errorbar(aes(ymin= RT-se,ymax = RT+se),width = 0.2,color = "BLACK",position=position_dodge())+
  coord_cartesian(ylim = c(200,1500))+theme(legend.title = element_blank())

在 R 中运行代码时,我得到以下图表

在此处绘制 - bar plot

是否可以以降序的方式(两者一起完成)重新排列提示(有效/无效以及距离(近/远))。

误差线似乎偏离中心,我该如何解决?另外,我可以统计比较两个项目(例如,比较第 1 组、时间 1 下的有效和无效)并在图表中表示它们吗?


每个参与者的数据集如下所示:

参与者 提示 距离 RT 时间
P1 有效 1461 T1 4
P1 无效 1416 T1 4
P1 无效 1409 T1 4
P1 无效 1351 T1 4

#------ 更新的查询

我已经更新了图中所示new plot。误差线似乎太小而无法看到。这是为什么?

我想比较每个类别的有效和无效变量。即,比较每个组的近和远类别的有效和无效。

这是我目前使用的代码:

summarySE <- function(data=NULL,measurevar,groupvars=NULL,na.rm=FALSE,conf.interval=.95,.drop=TRUE) {
  
  
  # New version of length which can handle NA's: if na.rm==T,don't count them 
  length2 <- function (x,na.rm=FALSE) {
    if (na.rm) sum(!is.na(x))
    else       length(x)
  }
  
  # This does the summary. For each group's data frame,return a vector with
  # N,mean,and sd
  datac <- ddply(data,groupvars,.drop=.drop,.fun = function(xx,col) {
                   c(N    = length2(xx[[col]],na.rm=na.rm),mean = mean   (xx[[col]],sd   = sd     (xx[[col]],na.rm=na.rm)
                   )
                 },measurevar
  )
  
  # Rename the "mean" column    
  datac <- plyr::rename(datac,c("mean" = measurevar))
  
  datac$se <- datac$sd / sqrt(datac$N)  # Calculate standard error of the mean
  
  # Confidence interval multiplier for standard error
  # Calculate t-statistic for confidence interval: 
  # e.g.,if conf.interval is .95,use .975 (above/below),and use df=N-1
  ciMult <- qt(conf.interval/2 + .5,datac$N-1)
  datac$ci <- datac$se * ciMult
  
  return(datac)
}

data<- read.table("trialdata.csv",header=TRUE,sep=",")

b<- summarySE(data,measurevar="RT",groupvars=c("cue","distance","time","group"))


b %>% 
  mutate(cue = fct_rev(cue)) %>% mutate(distance = fct_rev(distance))%>%
ggplot( aes(x=distance,position = "dodge",width = 0.5)+
  facet_grid(group~time,space="free_x") +
  geom_errorbar(aes(ymin= RT - se,ymax = RT + se),width = 0.08,position = position_dodge(0.5))+
    scale_fill_manual(values = c( "grey","dimgrey" ),labels = c("valid","invalid"))

我还应该做些什么来包含统计比较?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)