2015-01-11 1 views
0

누군가가 오류 막대가있는 막대 그래프를 생성하기위한 샷 컷을 찾는 데 도움이되기를 바랍니다. 일반적으로 나는 이것을 좋아한다.SE로 막대 그래프를 그래프로 표시하는 더 쉬운 방법

# some dummy data 
q <- setNames(data.frame(matrix(sample(100,400,T), nrow=20)), 
c("A","B","C","D","E","F","G","H","I","G","K","L","M","O","P","Q","R","S","T","U")) 

#I usually melt the data 
library(reshape2) 
a1 <- melt(q) 

# summarize them 
library(plyr) 
a2 <- ddply(a1, c("variable"), summarise, mvalue = mean(value, na.rm=TRUE), 
              medvalue = median(value, na.rm=TRUE), 
              sd = sd(value, na.rm=TRUE),  
              n = sum(!is.na(value)),se = sd/sqrt(n)) 

#However, I got an error in generating se: 
#Error in sd/sqrt(n) : non-numeric argument to binary operator 

# then I plot the graph 
library(ggplot2) 
ggplot(sum1, aes(x=variable, y=mvalue, fill=variable))+ 
geom_bar(stat='identity', position='dodge')+ 
geom_errorbar(aes(ymin=mvalue-sd,ymax=mvalue+sd))+ 
scale_fill_grey() 
# here i used the sd instead of se 

나는 왜 se에 대한 오류를 얻었 는가? 오류 막대가있는 막대 그래프를 더 똑똑하게 생성하기 위해 이러한 모든 단계를 저장하는 방법이 있습니까?

+1

의 그늘에서 거의 완전히 소멸이다 나는 전에'plyr'을 사용한 적이하지만 단순히'기본 R에서 aggregate' 사용과 잘못? 다음은'aggregate (value ~ variable, a1, function (x) c (mean = mean (x, na.rm = TRUE)), medvalue = median (x, na.rm = TRUE), sd = (x, na.rm = TRUE), se = sd (x, na.rm = TRUE)/sqrt (합계 (! is.na (x)))))' –

+0

감사합니다. 데이비드, ggplot을 사용하여 데이터를 플롯하려면? – Samehmagd

+0

생성 된'se'에서 코드가 작동하지 않습니까? –

답변

1

ddplydplyr

library(dplyr) 
a1$variable <- as.character(a1$variable) 
a1 %>% 
    group_by(variable) %>% 
    summarise(mvalue = mean(value, na.rm=TRUE), 
      medvalue = median(value, na.rm=TRUE), 
      sd = sd(value, na.rm=TRUE),  
      n = sum(!is.na(value)), se = sd/sqrt(n)) %>% 
    ggplot(., aes(x=variable, y=mvalue, fill=variable)) + 
    geom_bar(stat='identity', position='dodge')+ 
    geom_errorbar(aes(ymin=mvalue-se, ymax=mvalue+se))+ 
    scale_fill_grey() 
+0

에 수동으로 q3 <-cbind (se = q2 $ sd/sqrt (q2 $ n), q2)를 사용하여 SE 열을 추가하는 방법을 찾았습니다. 그래도 그래프를 그리기위한 더 쉬운 방법을 찾으신다면 – Samehmagd

+0

놀랍게도 R과 Rstudio를 다시 설치하면 문제가 해결됩니다! – Samehmagd

관련 문제