평균값을 시각화하기 위해 히스토그램에 수직선을 추가하는 것이 "좋아"입니까?
나에게는 괜찮은 것 같지만 교과서와 같은 것에서는 이것을 본 적이 없으므로 그렇게하지 않는 어떤 종류의 협약이 있는지 궁금합니다.
그래프는 용어 용지에 대한 것이므로 실수로 중요하지 않은 통계 통계 규칙을 실수로 위반하지 않도록하고 싶습니다. :)
평균값을 시각화하기 위해 히스토그램에 수직선을 추가하는 것이 "좋아"입니까?
나에게는 괜찮은 것 같지만 교과서와 같은 것에서는 이것을 본 적이 없으므로 그렇게하지 않는 어떤 종류의 협약이 있는지 궁금합니다.
그래프는 용어 용지에 대한 것이므로 실수로 중요하지 않은 통계 통계 규칙을 실수로 위반하지 않도록하고 싶습니다. :)
답변:
물론, 왜 안됩니까?
다음은 예입니다 (단순한 Google 검색으로 찾은 수십 개 중 하나).
(이미지 소스, 측정의 유용성 블로그입니다 여기에 .)
나는 표준 편차를 더하거나 뺀 것을 의미합니다. 중간, 사 분위수, 10 번째 및 90 번째 백분위 수와 같은 다양한 Quantile은 모두 다양한 방식으로 표시됩니다.
플롯을 가로 질러 선을 그리는 대신, 하단에 정보를 표시 할 수 있습니다.
아래에있는 대신 맨 위에 상자 그림이있는 예제 (많은 것들 중 하나)가 있습니다 (here) .
때때로 사람들은 데이터에 표시합니다.
(값이 정수로 반올림되어 상대 밀도를 잘 볼 수 없기 때문에 데이터 위치가 약간 흔들 렸습니다.)
이 페이지 에는 Stata에서 수행 된 이러한 종류의 예가 있습니다 ( 여기서 세 번째 참조 ).
히스토그램은 약간의 추가 정보 만으로도 더 좋습니다. 스스로 잘못 인도 할 수 있습니다.
당신은 당신의 음모가 무엇을 구성하는지 설명하기 위해주의를 기울여야합니다! (여기서 처음 사용했던 것보다 더 나은 제목과 x 축 레이블을 원할 것입니다. 여기에 표시 한 내용을 설명하는 그림 캡션에 대한 설명이 있습니다.)
-
마지막 줄거리 :
-
내 음모가 R로 생성됩니다.
편집하다:
@gung이 추측했듯이 abline(v=mean...
플롯을 가로 질러 평균 라인 rug
을 그리는 데 사용되었고 데이터 값을 그리는 데 사용되었습니다 ( rug(jitter(...
데이터가 정수로 반올림 되었기 때문에 실제로 사용되었지만 ).
히스토그램과 축 사이에서 상자 그림을 수행하는 방법은 다음과 같습니다.
hist(Davis2[,2],n=30)
boxplot(Davis2[,2],
add=TRUE,horizontal=TRUE,at=-0.75,border="darkred",boxwex=1.5,outline=FALSE)
나는 모든 것이 무엇인지 나열하지 않을 것이지만, 도움말 ( ?boxplot
) 의 주장을 확인하여 그들이 무엇을 찾고 있는지 직접 알아볼 수 있습니다.
그러나 일반적인 해결책은 아닙니다. 여기에서와 같이 항상 작동하지만 보장하지는 않습니다 (이미 옵션 at
과 boxwex
옵션을 이미 변경했습니다 *). 모든 것을 돌보기 위해 지능적인 기능을 작성하지 않으면 원하는 모든 일을 수행하기 위해 모든 일에주의를 기울여야합니다.
내가 사용한 데이터를 만드는 방법은 다음과 같습니다 (Theil 회귀 분석이 실제로 영향력있는 여러 특이 치를 처리하는 방법을 보여 주려고했습니다). 이 질문에 처음 대답했을 때 내가 가지고 있던 데이터였습니다.
library("car")
add <- data.frame(sex=c("F","F"),
weight=c(150,130),height=c(NA,NA),repwt=c(55,50),repht=c(NA,NA))
Davis2 <- rbind(Davis,add)
*-적절한 값 at
은 -0.5 배의 값이다 boxwex
. 함수를 작성하면 좋은 기본값이됩니다. boxwex
박스 플롯의 y 스케일 (높이)과 관련된 방식으로 스케일링해야합니다. 상단 y 제한의 0.04 ~ 0.05 배가 종종 괜찮을 수도 있습니다.
한계 스트립 차트 코드 :
hist(Davis2[,2],n=30)
stripchart(jitter(Davis2[,2],amount=.5),
method="jitter",jitter=.5,pch=16,cex=.05,add=TRUE,at=-.75,col='purple3')
abline(v=mean(Davis2[,2]))
& rug(Davis2[,2])
나는 추측 할 것이다. 그러나 당신은 어떻게 거기에 boxplot을 쐐기로 만들 었는가?
boxplot
함수 에 대한 여러 가지 인수를 사용하는 것보다 더 영리한 일은 없습니다 . 사이 boxplot
에서 boxp
당신은 약간의 노력으로 다소 멋진 일을 할 수 있습니다.
at
등 boxwex
을 생각했습니다 ...하지만 기껏해야 1 년과 같은 몇 가지 줄거리 만 할 뿐이며? boxplot을 입력하고 올바른 옵션을 설정하는 데 몇 초가 걸립니다. 내가하고있는 일에주의를 기울이는 것이 더 쉽다는 것을 알았습니다.