요약 통계에서 신뢰 구간 막대 그리기
On 2월 14, 2021 by admin상자 그림과 비슷합니다. 표준 상한 신뢰 구간, 하한 신뢰 구간, 평균 및 데이터 범위 표시 상자 그림이 반드시 필요한 것은 아니지만 세 가지 데이터 만있는 상자 그림과 같습니다. 95 % 신뢰 구간 및 평균 .
다음은 내가 원하는 것을 정확히 담고있는 저널 기사의 스크린 샷입니다.
또한 답변자가 언급 한 소프트웨어를 사용하여 그러한 플롯을 만드는 방법도 알고 싶습니다.
댓글
- ” 표준 상한 신뢰 구간, 하한 신뢰 구간, 평균 및 데이터 범위 표시 상자 그림 ” “>
는 표준 상자 그림이 아닙니다. 표준 상자 그림은 중앙값, 사 분위수, 최소값 및 최대 값 및 기타 세부 정보를 보여줍니다.
Answer
MATLAB에서 다음을 수행 할 수 있습니다. 오류 표시 줄 기능을 사용해보세요. http://www.mathworks.de/de/help/matlab/ref/errorbar.html
또는 멍청하고 수동적 인 방법으로 할 수 있습니다. 예를 들어, 데이터 포인트 행렬 “a”가 주어지면 m = mean (a) 함수를 사용하여 평균을 계산하고 CI를 계산하고 (필요한 CI에 따라 다름) 결과를 직접 플로팅 할 수 있습니다.
CI가 행렬 CI (첫 번째 및 두 번째 열)에 있고 평균이 행렬 a 에 있다고 가정하고 평균과 CI를 이미 알고있는 경우의 데모 :
plot(1:length(CI),a,"o","markersize", 10) % plot the mean hold on; plot(1:length(CI),CI(1,:),"v","markersize", 6) % plot lower CI boundary hold on; plot(1:length(CI),CI(2,:),"^","markersize", 6) % plot upper CI boundary hold on; for I = 1:length(CI) % connect upper and lower bound with a line line([I I],[CI(1,I) CI(2,I)]) hold on; end; axis([0 length(CI)+1 min(CI(1,:))*0.75 max(CI(2,:))*1.25]) % scale axis
개별 측정 값을 알고있는 경우의 데모, 반복 측정 실험의 경우 3 개 이상의 조건, 열당 하나의 조건, 행렬의 한 줄에 하나의 주제 a, 누락 된 샘플 없음, MATLAB “s ttest () 기준 95 % CI :
[H,P,CI] = ttest(a); % calculate 95% CIs for every column in matrix a % CIs are now in the matrix CI! plot(1:length(CI),[mean(a)],"o","markersize", 10) % plot the mean hold on; plot(1:length(CI),CI(1,:),"v","markersize", 6) % plot lower CI boundary hold on; plot(1:length(CI),CI(2,:),"^","markersize", 6) % plot upper CI boundary hold on; for I = 1:length(CI) % connect upper and lower bound with a line line([I I],[CI(1,I) CI(2,I)]) hold on; end; axis([0 length(CI)+1 min(CI(1,:))*0.75 max(CI(2,:))*1.25]) % scale axis
댓글
- 최근 편집 내용을 읽어 봅니다. ‘ 죄송합니다.하지만 나를 짜증나게하는 일부 사람들은 95 % CI이며 추가 데이터가 없음을 의미합니다.
- @BrentonHorne 오류 표시 줄 기능에 대한 링크가 도움이되지 않았습니까? 정확히 원하는 것 같습니다.
- Peter가 말했듯이 errorbar () 를 사용하세요. 또는 내가 작성한 스크립트를 사용하되 ttest가있는 첫 번째 줄을 무시하고 의미와 CI를 직접 입력하십시오. 나는 ‘ 내 생각에 그것을 편집 할 것입니다.
- @BrentonHorne 공정하게 말하면, 당신은 그 요점을 광범위하게 논의하거나 심지어 본문에 전혀 언급하지 않았습니다. 질문. 제목에 의해 암시되었지만이 제목은 상자 플롯을 잘못 언급했는데, 이는 편집자가 수정하려고 시도한 문제입니다. ‘ “only”라는 단어가 과정에서 사라졌지 만 아무도 귀하의 질문에서 의도적으로이를 수정하지 않은 것이 유감입니다. 게다가 답에는 해결책이 포함되어 있고 나머지 텍스트는 다른 독자들에게 흥미로울 수 있습니다.
- 코드를 잘 실행했습니다. 문제는 방법이 있다면 좋겠다는 것입니다. 내 질문의 스크린 샷과 같은 선으로 상위 CI와 하위 CI를 결합 할 수 있습니다.
답변
이게 도움이되는지보세요. R 솔루션 :
par(mfrow=c(2,1)) # to stack the charts on column #Dataset 1 upperlimit = c(10,12,8,14) lowerlimit = c(5,9,4,7) mean = c(8,10,6,12) df = data.frame(cbind(upperlimit,lowerlimit,mean)) plot(df$mean, ylim = c(0,30), xlim = c(1,4)) install.packages("plotrix") require(plotrix) plotCI(df$mean,y=NULL, uiw=df$upperlimit-df$mean, liw=df$mean-df$lowerlimit, err="y", pch=20, slty=3, scol = "black", add=TRUE) #Dataset 2 upperlimit_2 = upperlimit*1.5 lowerlimit_2 = lowerlimit*0.8 mean_2 = upperlimit_2-lowerlimit_2 df_2 = data.frame(cbind(upperlimit_2,lowerlimit_2,mean_2)) plot(df$mean_2, ylim = c(0,30), xlim = c(1,4)) plotCI(df_2$mean_2,y=NULL, uiw=df_2$upperlimit_2-df_2$mean_2, liw=df_2$mean_2- df_2$lowerlimit_2, err="y", pch=20, slty=3, scol = "black", add=TRUE) rm(upperlimit,lowerlimit,mean,df,upperlimit_2,lowerlimit_2,mean_2,df_2) #remove the objects stored from workspace par(mfrow=c(1,1)) # go back to default (one graph at a time)
댓글
- 그런 코드는 어떻게 실행합니까? 저는 R을 처음 사용하므로 ‘ 내가 실마리가 없기 때문에 단계별로 안내해 주셔야합니다.
- 한 번 시도해 드릴 수는 있지만 먼저 i) PC에 R Studio를 설치하고 ii) 재현 가능한 예를 제공합니다. stackoverflow.com/questions/5963269/ …
- @AndreSilva, 더 많은 노력을 기울인 것 같습니다. 큰 지원과 멘토링!
- 코드를 실행하여 얻은 것입니다. i.stack.imgur.com/yrZaJ.png
- @BrentonHome. 이상한. 방금 테스트했고 작동했습니다. ” 오류 ” 막대가 표시되지 않습니다.
plotrix
패키지를 설치 했습니까? plotrix 패키지를 설치하는 코드에 프로그램 명령 줄을 추가했습니다. 다시 시도하고 알려주십시오.
Answer
ggplot2를 사용하는 R에서 이러한 유형의 플롯은 축 글꼴 크기 :
library(ggplot2) data.estimates = data.frame( var = c("1", "2", "3", "4", "5", "6", "7", "8", "9"), par = c(1.12210,0.18489,1.22011,1.027446235,0.43521,0.53464,1.93316,-0.43806,-0.12029), se = c(0.42569,0.32162,0.58351,0.771608551,0.24803,0.65372,0.92717,0.45939,0.51558)) data.estimates$idr <- exp(data.estimates$par) data.estimates$upper <- exp(data.estimates$par + (1.96*data.estimates$se)) data.estimates$lower <- exp(data.estimates$par - (1.96*data.estimates$se)) p2 <- ggplot(data.estimates, aes(var,idr, size=10)) + theme_bw(base_size=10) p2 + geom_point() +geom_errorbar(aes(x = var, ymin = lower, ymax = upper, size=2), width = 0.2) + scale_y_log10(limits=c(0.1, 50), breaks=c(0.1, 0.5, 1, 5, 10, 25, 50)) + xlab("Site") + ylab("RR")
답변
Stata에서는 serrbar
또는 ciplot
(SSC) 또는
(Stata Journal, SSC).
Answer
원래 데이터에 액세스 할 수 있다고 가정하면 R에서 sciplot의 lineplot.CI 함수를 사용하여이를 수행 할 수 있습니다. 라이브러리
mtcars 데이터 세트를 사용한 예 :
lineplot.CI(x.factor=gear, response=mpg, group=vs, data=mtcars)
lineplot.CI는 기본적으로 SE 막대를 표시합니다 (새 막대를 정의하여 변경할 수 있음). 95 % CI 구간을 표시하기 위해 ci.fun 인수가있는 함수)
lineplot.CI(x.factor=gear, response=mpg, group=vs, data=mtcars, ci.fun=function(x) c(mean(x)-1.96*se(x), mean(x)+1.96*se(x)))
답변
이 작업은 points()
(또는 plot(..., type="p")
) 및 segments()
를 사용하여 R에서 수행 할 수 있습니다. . CI를 생성하도록 설계된 R 함수도있을 수 있지만 원본 데이터가 필요할 수 있습니다. 동일한 그림의 여러 패널은 par(mfrow=c(4,1))
로 생성되었습니다. 그렇지 않으면 ” R을 아는 경우 쉽게 수행하기 어려울 수 있습니다 (예 : R을 조금 더 배우거나 특정 데이터 세트를 도와 줄 사람을 구해야합니다).
Answer
GraphPad Prism 은 입력 한 오류 값에서 오류 막대를 표시하여 이러한 종류의 그래프를 쉽게 만들 수 있습니다. 평균 입력,-오류 및 + 오류에 대해 형식화 된 그룹화 된 테이블을 만듭니다.
댓글
- 단순하지 않은 ‘ 무료 사본을 얻을 수 있습니까? 30 일 평가판?
- @BrentonHorne : 아니요. 무료 소프트웨어가 아닙니다.
답글 남기기