누군가가 오류 막대가있는 막대 그래프를 생성하기위한 샷 컷을 찾는 데 도움이되기를 바랍니다. 일반적으로 나는 이것을 좋아한다.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
에 대한 오류를 얻었 는가? 오류 막대가있는 막대 그래프를 더 똑똑하게 생성하기 위해 이러한 모든 단계를 저장하는 방법이 있습니까?
의 그늘에서 거의 완전히 소멸이다 나는 전에'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)))))' –
감사합니다. 데이비드, ggplot을 사용하여 데이터를 플롯하려면? – Samehmagd
생성 된'se'에서 코드가 작동하지 않습니까? –