Top 26 R 정규성 검정 The 145 New Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me r 정규성 검정 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://chewathai27.com/to team, along with other related topics such as: r 정규성 검정 kolmogorov-smirnov 검정, SPSS 정규성 검정, shapiro.test in r, Shapiro-Wilk 검정, t-test 정규성 검정, 정규성검정 p값, 미니탭 정규성 검정, 정규성 검정 실패


[R 강의] 98. 정규성검정 (LF test, SW test)
[R 강의] 98. 정규성검정 (LF test, SW test)


R, Python 분석과 프로그래밍의 친구 (by R Friend) :: R 단일 모집단 분포의 정규성 검정 : shapiro.test(), qqnorm(), qqline()

  • Article author: rfriend.tistory.com
  • Reviews from users: 938 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about R, Python 분석과 프로그래밍의 친구 (by R Friend) :: R 단일 모집단 분포의 정규성 검정 : shapiro.test(), qqnorm(), qqline() R 단일 모집단 분포의 정규성 검정 : shapiro.test(), qqnorm(), qqline(). Rfriend 2015. 10. 9. 13:07. 통계적 검정 (statistical testing) 은 모집단의 모수 또는 … …
  • Most searched keywords: Whether you are looking for R, Python 분석과 프로그래밍의 친구 (by R Friend) :: R 단일 모집단 분포의 정규성 검정 : shapiro.test(), qqnorm(), qqline() R 단일 모집단 분포의 정규성 검정 : shapiro.test(), qqnorm(), qqline(). Rfriend 2015. 10. 9. 13:07. 통계적 검정 (statistical testing) 은 모집단의 모수 또는 … 통계적 검정 (statistical testing) 은 모집단의 모수 또는 분포 형태에 대한 추정에 대해 그것이 옳은지 그른지를 임의로 추출한 표본으로부터 통계량을 측정하여 판단하는 통계적 절차를 말합니다. 단일 모집단..
  • Table of Contents:

R 단일 모집단 분포의 정규성 검정 shapirotest() qqnorm() qqline()

티스토리툴바

R, Python 분석과 프로그래밍의 친구 (by R Friend) :: R 단일 모집단 분포의 정규성 검정 : shapiro.test(), qqnorm(), qqline()
R, Python 분석과 프로그래밍의 친구 (by R Friend) :: R 단일 모집단 분포의 정규성 검정 : shapiro.test(), qqnorm(), qqline()

Read More

탐색적 자료분석 1. 정규성 검정 (R) :: 지루한 일상의 소중함

  • Article author: every-day-life.tistory.com
  • Reviews from users: 39353 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 탐색적 자료분석 1. 정규성 검정 (R) :: 지루한 일상의 소중함 R에서 기본으로 지원하는 정규성 검정은 Shapiro-Wilk 검정이다. Sahpiro test는 자료의 갯수가 5000미만일 때만 분석이 가능한데, 그 외에는 다른 … …
  • Most searched keywords: Whether you are looking for 탐색적 자료분석 1. 정규성 검정 (R) :: 지루한 일상의 소중함 R에서 기본으로 지원하는 정규성 검정은 Shapiro-Wilk 검정이다. Sahpiro test는 자료의 갯수가 5000미만일 때만 분석이 가능한데, 그 외에는 다른 … 논문 자료 분석할 때 초보자들이 하기 쉬운 가장 흔한 실수중의 하나가 탐색적 자료분석 (Explanatory Data Analysis)에 들이는 시간을 아까워 한다는 점이다. 언뜻 보기에는 화면 전체에 복잡한 숫자와 p-value..
  • Table of Contents:

TAG

관련글 관련글 더보기

인기포스트

탐색적 자료분석 1. 정규성 검정 (R) :: 지루한 일상의 소중함
탐색적 자료분석 1. 정규성 검정 (R) :: 지루한 일상의 소중함

Read More

[R] 정규성 검정 / Q-Q plot, Shapiro-Wilk test, Kolmogorov-Smirnov test: qqnorm( ), shaprio.test( ), ks.test( )

  • Article author: mansoostat.tistory.com
  • Reviews from users: 41700 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [R] 정규성 검정 / Q-Q plot, Shapiro-Wilk test, Kolmogorov-Smirnov test: qqnorm( ), shaprio.test( ), ks.test( ) [R] 정규성 검정 / Q-Q plot, Shapiro-Wilk test, Kolmogorov-Smirnov … 많은 통계 분석 방법에서 자료가 정규분포를 따른다는 가정 하에 검정 … …
  • Most searched keywords: Whether you are looking for [R] 정규성 검정 / Q-Q plot, Shapiro-Wilk test, Kolmogorov-Smirnov test: qqnorm( ), shaprio.test( ), ks.test( ) [R] 정규성 검정 / Q-Q plot, Shapiro-Wilk test, Kolmogorov-Smirnov … 많은 통계 분석 방법에서 자료가 정규분포를 따른다는 가정 하에 검정 … 많은 통계 분석 방법에서 자료가 정규분포를 따른다는 가정 하에 검정통계량과 p-value를 계산한다. 만약 실제 자료가 정규성 가정을 만족하지 않는다면 통계 분석 결과에 대한 타당성이 떨어지기 때문에 분석을..
  • Table of Contents:
[R] 정규성 검정 Q-Q plot Shapiro-Wilk test Kolmogorov-Smirnov test qqnorm( ) shapriotest( ) kstest( )

티스토리툴바

[R] 정규성 검정 / Q-Q plot, Shapiro-Wilk test, Kolmogorov-Smirnov test: qqnorm( ), shaprio.test( ), ks.test( )
[R] 정규성 검정 / Q-Q plot, Shapiro-Wilk test, Kolmogorov-Smirnov test: qqnorm( ), shaprio.test( ), ks.test( )

Read More

R을 이용해서 정규성 검정을 해보자! -깜신의 통계 이야기 2탄-

  • Article author: jinmedi.tistory.com
  • Reviews from users: 8779 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about R을 이용해서 정규성 검정을 해보자! -깜신의 통계 이야기 2탄- 집단의 관찰치값이 정규성 분포를 하느냐, 집단들이 서로 동일한 분산을 갖고 있느냐에 따라 통계기법 선택이 달라지기 때문입니다. 오늘은 그중 R을 이용 … …
  • Most searched keywords: Whether you are looking for R을 이용해서 정규성 검정을 해보자! -깜신의 통계 이야기 2탄- 집단의 관찰치값이 정규성 분포를 하느냐, 집단들이 서로 동일한 분산을 갖고 있느냐에 따라 통계기법 선택이 달라지기 때문입니다. 오늘은 그중 R을 이용 … 임상 시험을 통계적으로 분석할 때 가장 중요한 건, 어떤 통계기법을 사용할 거냐는 문제일 겁니다. 집단 사이의 비교에서도 가장 익숙한 student’s t test에서부터 Mann-Whitney U test, Welch’s t test 등등 다..
  • Table of Contents:

태그

‘깜신의 통계 이야기’ Related Articles

최근 포스트

태그

R을 이용해서 정규성 검정을 해보자! -깜신의 통계 이야기 2탄-
R을 이용해서 정규성 검정을 해보자! -깜신의 통계 이야기 2탄-

Read More

정규성 검정 (Normality Test) :: BioinformaticsAndMe

  • Article author: bioinformaticsandme.tistory.com
  • Reviews from users: 234 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 정규성 검정 (Normality Test) :: BioinformaticsAndMe -귀무가설을 기각하고 대립가설이 채택된다면 (p<0.01 or 0.05) 해당 데이터셋은 정규분포를 따르지 않는 것이다. 4. 정규성 검정 예제 (R). -Pima Indian ... ...
  • Most searched keywords: Whether you are looking for 정규성 검정 (Normality Test) :: BioinformaticsAndMe -귀무가설을 기각하고 대립가설이 채택된다면 (p<0.01 or 0.05) 해당 데이터셋은 정규분포를 따르지 않는 것이다. 4. 정규성 검정 예제 (R). -Pima Indian ... 정규성 검정 (Normality Test) Start. BioinformaticsAndMe 1. 정규성 검정 (Normality Test) 이란? 데이터셋의 분포가 정규분포 (Normal Distribution)를 따르는지를 검정하는 것이다. Statistics의 여러 검정..Training is everything.
  • Table of Contents:

정규성 검정 (Normality Test)

티스토리툴바

정규성 검정 (Normality Test) :: BioinformaticsAndMe
정규성 검정 (Normality Test) :: BioinformaticsAndMe

Read More

[R Programming] 정규성 검정 – Shapiro-Wilks test

  • Article author: urosie.tistory.com
  • Reviews from users: 32081 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [R Programming] 정규성 검정 – Shapiro-Wilks test [R Programming] 정규성 검정 – Shapiro-Wilks test. urosie 2019. 7. 6. 15:11. 반응형. 주어진 자료가 있을 때, 그 자료의 데이터들이 정규분포를 따르는지 검정하는 … …
  • Most searched keywords: Whether you are looking for [R Programming] 정규성 검정 – Shapiro-Wilks test [R Programming] 정규성 검정 – Shapiro-Wilks test. urosie 2019. 7. 6. 15:11. 반응형. 주어진 자료가 있을 때, 그 자료의 데이터들이 정규분포를 따르는지 검정하는 … 주어진 자료가 있을 때, 그 자료의 데이터들이 정규분포를 따르는지 검정하는 방법으로 통계의 여러 검정법들이 데이터의 정규분포를 가정하고 수행되기 때문에 데이터 자체에 대한 정규성 검정 진행이 필요하다…
  • Table of Contents:

태그

관련글

댓글0

공지사항

최근글

인기글

최근댓글

태그

전체 방문자

[R Programming] 정규성 검정 - Shapiro-Wilks test
[R Programming] 정규성 검정 – Shapiro-Wilks test

Read More

R 다변량 통계 분석 – 1. 일변량 정규성 검정(Normality Test) Q-Q plot, qqplotr, Kolmogorov-Smirnov test, Shapiro-Wilk test :: R/Python은 겉치레가 아니야

  • Article author: r-pyomega.tistory.com
  • Reviews from users: 5958 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about R 다변량 통계 분석 – 1. 일변량 정규성 검정(Normality Test) Q-Q plot, qqplotr, Kolmogorov-Smirnov test, Shapiro-Wilk test :: R/Python은 겉치레가 아니야 일변량 정규성 검정(Normality Test) Q-Q plot, qqplotr, Kolmogorov-Smirnov test, Shapiro-Wilk test. 구렁이 알(Python/R) 2020. 4. 17. 10:51. …
  • Most searched keywords: Whether you are looking for R 다변량 통계 분석 – 1. 일변량 정규성 검정(Normality Test) Q-Q plot, qqplotr, Kolmogorov-Smirnov test, Shapiro-Wilk test :: R/Python은 겉치레가 아니야 일변량 정규성 검정(Normality Test) Q-Q plot, qqplotr, Kolmogorov-Smirnov test, Shapiro-Wilk test. 구렁이 알(Python/R) 2020. 4. 17. 10:51. 아래 내용은 에서 대부분 발췌하였습니다 다변량 통계 분석에서 정규성 검정, 시각화 방법 등에 필요한 라이브러리 입니다 library(MVT) library(MVN) library(dplyr) library(car) library(multifluo) #### 데이..
  • Table of Contents:

TAG

관련글 관련글 더보기

인기포스트

티스토리툴바

R 다변량 통계 분석 - 1. 일변량 정규성 검정(Normality Test) Q-Q plot, qqplotr, Kolmogorov-Smirnov test, Shapiro-Wilk test :: R/Python은 겉치레가 아니야
R 다변량 통계 분석 – 1. 일변량 정규성 검정(Normality Test) Q-Q plot, qqplotr, Kolmogorov-Smirnov test, Shapiro-Wilk test :: R/Python은 겉치레가 아니야

Read More


See more articles in the same category here: Chewathai27.com/to/blog.

R, Python 분석과 프로그래밍의 친구 (by R Friend) :: R 단일 모집단 분포의 정규성 검정 : shapiro.test(), qqnorm(), qqline()

> installed.packages(“UsingR”) Package LibPath Version Priority Depends Imports LinkingTo Suggests Enhances License License_is_FOSS License_restricts_use OS_type Archs MD5sum NeedsCompilation Built > library(UsingR) 필요한 패키지를 로딩중입니다: MASS 필요한 패키지를 로딩중입니다: HistData 필요한 패키지를 로딩중입니다: Hmisc 필요한 패키지를 로딩중입니다: grid 필요한 패키지를 로딩중입니다: lattice 필요한 패키지를 로딩중입니다: survival 필요한 패키지를 로딩중입니다: Formula 필요한 패키지를 로딩중입니다: ggplot2 Find out what’s changed in ggplot2 with news(Version == “1.0.1”, package = “ggplot2”) 다음의 패키지를 부착합니다: ‘Hmisc’ The following objects are masked from ‘package:base’: format.pval, round.POSIXt, trunc.POSIXt, units 다음의 패키지를 부착합니다: ‘UsingR’ The following object is masked from ‘package:ggplot2’: movies The following object is masked from ‘package:survival’: cancer > str(cfb) ‘data.frame’: 1000 obs. of 14 variables: $ WGT : num 5750 5871 8044 6093 7162 … $ AGE : num 54 40 35 55 40 82 26 50 71 70 … $ EDUC : num 14 12 14 12 12 12 16 14 12 6 … $ INCOME : num 66814 42144 25698 35977 39061 … $ CHECKING: num 6000 400 1000 2600 1000 1000 3000 3100 1000 50 … $ SAVING : num 2000 0 160 19100 8300 0 0 0 0 0 … $ NMMF : num 0 0 0 0 0 50000 0 0 0 0 … $ STOCKS : num 500 0 0 0 3500 0 0 0 0 0 … $ FIN : num 39600 5400 15460 54700 12800 … $ VEHIC : num 6400 21000 2000 18250 9100 … $ HOMEEQ : num 84000 8000 12000 90000 47000 175000 0 22000 15000 0 … $ OTHNFIN : num 0 0 0 0 0 0 0 0 0 0 … $ DEBT : num 40200 58640 19610 8000 21000 … $ NETWORTH: num 170800 17760 9850 284950 268900 …

탐색적 자료분석 1. 정규성 검정 (R)

1. 정규성 검정이란? 정규분포 자료는 위의 그림과 같이 종모양이며 평균을 중심으로 양쪽으로 예쁘게 분포되어 있는 자료를 말한다. 정규분포가 중요한 이유는, 우리가 다루는 대부분의 통계적 분석법은 자료(특히 결과변수)가 정규분포를 만족한다고 가정하고 진행하는 것이기 때문이다.

2. 중심극한정리 (Central Limit Theorem) 확률론과 통계학에서, 중심 극한 정리(中心 極限 定理, 영어: central limit theorem, 약자 CLT)는 동일한 확률분포를 가진 독립 확률 변수 n개의 평균의 분포는 n이 적당히 크다면 정규분포에 가까워진다는 정리이다. -by Wiki 뭔 소린지 잘 모르는게 정상일 수도 있다 하지만 중요한 것은 라는 것이다. 중심극한정리를 아무 상황에서나 막 들이대면 안된다. 그럼 사전 설명은 이 정도로 마치고 실제 자료를 이용해서 정규성 검정을 해 보자.

3. Hadley Wicham의 다이아몬드 자료 Hadley Wicham은 R을 사용하는 사람이라면 누구나 한 번쯤 들어봤어야 하는 인물이다. ggplot2 , dplyr … 의 기라성 같은 패키지의 제작자이며 대인배 기질을 지닌 프로그램 교육 사이트인 데이터 캠프의 주요 멤버이다. 지금 이용할 자료는 ggplot2 에 포함된 자료(50000개 짜리)를 2캐럿 미만의 500개 자료로 축약한 버전이다. load(“D:/Data/normal.Rdata”) library(dplyr) library(ggplot2) library(car) library(nortest) library(psych) 자료와 필요한 패키지를 불러온 후, head(diamond) ## carat cut color clarity price ## 1 0.46 Ideal I VS1 997 ## 2 0.90 Very Good H VS1 4021 ## 3 0.60 Ideal G VS1 2109 ## 4 1.04 Premium I SI1 4290 ## 5 0.50 Ideal J VS2 1188 ## 6 1.54 Premium G VVS2 15983 str(diamond) ## ‘data.frame’: 500 obs. of 5 variables: ## $ carat : num 0.46 0.9 0.6 1.04 0.5 1.54 1.01 0.33 1.22 0.9 … ## $ cut : Factor w/ 5 levels “Fair”,”Good”,..: 5 3 5 4 5 4 3 4 5 3 … ## $ color : Factor w/ 7 levels “D”,”E”,”F”,”G”,..: 6 5 4 6 7 4 3 5 7 1 … ## $ clarity: Factor w/ 8 levels “I1″,”SI2″,”SI1”,..: 5 5 5 3 4 6 2 8 3 3 … ## $ price : int 997 4021 2109 4290 1188 15983 3709 868 5586 4523 … 이번에 다룰 변수는 carat과 price이다. 상식적으로 다이아몬드 가격을 결정하는 가장 큰 요소는 다이아의 크기이다. 이를 확인하기 위해 산점도를 확인해 보면, diamond %>% ggplot(aes(carat, price))+geom_point()+geom_smooth(method = “lm”,se=F, col=”red”, lty=2)+theme_classic() 위 그림을 보면 다이아의 크기가 클 수록 가격이 비싸지는 듯 한데… 왠지 선형회귀 적합선 (빨간 점선)이 결과와 그리 잘 들어 맞지는 않는 것 같다. 0.2캐럿 미만의 다이아는 가격이 너무 낮게, 0.5~1캐럿 사이는 좀 더 비싸게 예측한다. 더구나 1캐럿을 넘어가면 점들의 분포가 기하급수적으로 커진다. 이렇게 뭔가 이상한 부분들이 보이는 것은 두 자료의 관계를 보기 전에 했어야 하는 과정들 (탐색적 자료분석) 과정이 생략되었기 때문에 발생한 것이다. 자료를 하나 하나 보자. 예전에 R공부할 때 너무 힘들었던 것 중 하나가 책이나 교재마다 쓰는 명령어가 달랐다는 점이다. 어찌 보면 하나의 결과를 얻기 위한 여러 방법이 있다는게 R의 장점이긴 한데, 익숙해지기까지 너무 힘들었다. 이럴 때 가장 좋은 방법은 모르는 부분이 있어도 아무 고민하지 말고 직접 입력해 가면서 익숙해지는 것 같다. 방법이 많다고 해봐야 몇 개 안되고, 익숙해지면 그게 그거다. 더욱이 혹시 새 방법이 나한테 더 잘 맞을지도… shapiro.test(diamond$carat) ## ## Shapiro-Wilk normality test ## ## data: diamond$carat ## W = 0.91947, p-value = 1.089e-15 describe(diamond$carat) ## vars n mean sd median trimmed mad min max range skew kurtosis ## X1 1 500 0.76 0.41 0.7 0.72 0.47 0.23 2 1.77 0.69 -0.3 ## se ## X1 0.02 diamond %>% ggplot(aes(carat))+geom_density(col=”red”, fill=”red”, alpha=0.05)+theme_classic() qqPlot(diamond$carat) # car package ## [1] 185 266 R에서 기본으로 지원하는 정규성 검정은 Shapiro-Wilk 검정이다. Sahpiro test는 자료의 갯수가 5000미만일 때만 분석이 가능한데, 그 외에는 다른 검정에 비해서 모든 부분에서 우수하다 (근데 자료의 수가 많아지면 정규성 검정 자체가 의미 없어진다). 자료의 수가 많아지면 사용 가능한게 Anderson-Darling test이고, Lilliefors(Kolmogorov-Smirov) test는 SPSS 사용자 들에게 익숙한 검사이다. Shapiro 검정의 결과는 p-value 1.089e-15로 0.001 미만이다. 따라서 carat 변수는 정규분포를 만족하지 못한다. 아래 psych package의 describe 명령의 결과물을 확인 해 봐도 skew (좌우 비뚤림) 0.69, kurtosis (상하 비뚤림) -0.3으로 측정되었고, 마지막의 density plot을 봐도 우측(Right skewed, Positively skewed, 우리말 어감과는 반대이다. 왼쪽으로 치우친 것 같은데…) 으로 치우쳐 있다. 이렇게 한 쪽으로 치우쳐 있는 것이 정규분포를 하지 않는다는 가장 큰 증거다. Q-Q plot에서도 이탈한 관측치들이 보인다.

4. 추가적인 정규성 검사 nortest package를 사용하면 원하는 정규성 검사를 원 없이 할 수 있다. 개인적으로는 자료의 분포가 중요하지 정규성 검사 결과 자체는 큰 의미 없다고 믿는 쪽이지만 그래도 제목이 정규성 검정이니 언급은 하는게 맞는 것 같다. # R base function shapiro.test(diamond$carat) ## ## Shapiro-Wilk normality test ## ## data: diamond$carat ## W = 0.91947, p-value = 1.089e-15 # nortest function ad.test(diamond$carat) ## ## Anderson-Darling normality test ## ## data: diamond$carat ## A = 12.139, p-value < 2.2e-16 lillie.test(diamond$carat) ## ## Lilliefors (Kolmogorov-Smirnov) normality test ## ## data: diamond$carat ## D = 0.13856, p-value < 2.2e-16 5. 비뚤림의 해소 1. Tukey Ladder of Power ( \(x'=x^\lambda\) , 직접 몸빵법 ) \(\lambda\) 변수상태 변환법 3 좌로 치우침 \(x^3\) 2 \(\uparrow\) \(x^2\) 1 정상 상태 변환 필요없음 1/2 \(\downarrow\) \(\sqrt{x}\) 1/3 \(\downdownarrows\) \(x^{1/3}\) 0 우로 치우침 \(ln(x)\) -1/2 \(\downarrow\) \(-1/\sqrt{x}\) -1 \(\downarrow\) \(-1/x\) -2 \(\downdownarrows\) \(-1/x^2\) 예로부터 내려오는 말중에 “뭔가 시원치 않으면 로그 씌워라.”라는 말이 있다. 지금 생각해보면 참 명언이라는 생각이 든다. 의학자료분석에서 상당수의 (아니 거의 대부분의) 자료들은 우로 치우친 형태이며 로그 씌우면 해결된다. 다만 여기서 너무 심했다 싶으면 루트 씌워보고, 너무 약하다 싶으면 \(-1/\sqrt{x}\)이나 \(-1/x\) 해보면 된다. 변환 시 가장 중요한 부분 중 하나가 변환하려면 자료가 0을 초과하는 양수여야 한다는 점이다.(\(ln(0)\)은 과연 얼마일까요?) 장점은 해보기 쉽고 만만하다는 점. 그리고 나중에 계산하기 쉽다는 점이다. (이 부분은 나중에 설명) 단점은 계산을 여러번 해야 하며, 노가다 같아서 뭔가 그럴 듯한 측면이 없다는 점이다. 2. Box-Cox transformation \(x'\)=\(\frac{(x^\lambda-1)}{\lambda}\) if \(\lambda ot= 0\) \(x'\)=\(log(x)\) if \(\lambda = 0\) Tukey법은 \(x^\lambda\)로만 변환하는데 비해서, Box-Cox법은 \(\frac{(x^\lambda-1)}{\lambda}\)를 해 줌으로써 계산은 복잡해 지지만, 최대치와 최소치는 변환전과 큰 차이가 없도록 만든다. 거기다 최적의 \(\lambda\) 수치를 계산할 수 있는 방법을 제공한다. boxCox(diamond$carat~1) 정확한 \(\lambda\)의 최대치는 0 근처이다.(정확히는 95% 신뢰구간 내에 0이 포함된다. 만약 \(\lambda\) 의 최대치가 0.15가 나왔다 해보자. \(2^{0.15}\) 계산 가능한가? ) 그럼 그 결과를 믿고 log 씌우면 된다. (Box-Cox는 \(\lambda\)가 0일때는 log변환, 물론 변환 변수는 0을 초과하는 양수여야 함. 나머지 값에 대해서는 공식에 입력해서 해결) 3. Yeo-Johnson transformation \(x'\)=\(\frac{((x+1)^\lambda-1)}{\lambda}\) if \(\lambda ot= 0, x\ge0\) \(x'=log(x+1)\) if \(\lambda = 0, x\ge0\) 흔히 Johnson transformation으로 불리는 변환법이다. 근데 앞의 Yeo가 숙명여대에 계시는 여인권교수님인거 알고 나서는 왠만하면 정식으로 이름을 다 부른다. 이 변환법의 의미는 변환변수 x가 0을 포함할 때 의 해결법을 제시해 준다는 것이다. 전체 공식은 Box-Cox로 해결이 되지 않는 x가 음의 값인 경우 및 0을 포함하는 경우일 때의 해결법을 제시해 주니 궁금하면 한 번 검색해 보는 것도 좋겠다. 4. 실제변환 diamond$log_carat <- log(diamond$carat) shapiro.test(diamond$log_carat) ## ## Shapiro-Wilk normality test ## ## data: diamond$log_carat ## W = 0.94598, p-value = 1.574e-12 describe(diamond$log_carat) ## vars n mean sd median trimmed mad min max range skew kurtosis ## X1 1 500 -0.42 0.55 -0.36 -0.42 0.66 -1.47 0.69 2.16 -0.04 -1.24 ## se ## X1 0.02 diamond %>% ggplot(aes(log_carat))+geom_density(col=”red”, fill=”red”, alpha=0.05)+theme_classic() qqPlot(diamond$log_carat) ## [1] 185 266 Shapiro 검정결과는 여전히 만족스럽지 못하지만(p-value<0.001), skweness와 kurtosis 수치가 좋아졌고, density plot결과와 Q-Q plot 결과도 나아졌다. p-value로 표현되는 정규성 검정 결과만을 맏지 말고, 여기서 만족하고 중단해야 한다. 그리고 의학논문에서 명확하게 입력오류로 밝혀지지 않은 이상치를 찾고 제거하는 일은 극히 드문일이지만, 이상치를 찾아 보려면 정규변환 후에 해야만 한다. 5. price 변수 변환 shapiro.test(diamond$price) ## ## Shapiro-Wilk normality test ## ## data: diamond$price ## W = 0.82824, p-value < 2.2e-16 describe(diamond$price) ## vars n mean sd median trimmed mad min max range skew ## X1 1 500 3597.16 3351.67 2409.5 3005.58 2482.61 374 17761 17387 1.55 ## kurtosis se ## X1 2.35 149.89 diamond %>% ggplot(aes(price))+geom_density(col=”blue”, fill=”blue”, alpha=0.05)+theme_classic() qqPlot(diamond$price) ## [1] 492 456 boxCox(diamond$carat~1) price의 경우도 똑같이 로그 변환해주면 될 것 같다. diamond$log_price <- log(diamond$price) shapiro.test(diamond$log_price) ## ## Shapiro-Wilk normality test ## ## data: diamond$log_price ## W = 0.96363, p-value = 8.746e-10 describe(diamond$log_price) ## vars n mean sd median trimmed mad min max range skew kurtosis ## X1 1 500 7.76 0.96 7.79 7.75 1.2 5.92 9.78 3.86 0.02 -1.12 ## se ## X1 0.04 diamond %>% ggplot(aes(log_price))+geom_density(col=”blue”, fill=”blue”, alpha=0.05)+theme_classic() qqPlot(diamond$log_price) ## [1] 492 456 5. 로그변환 전과 후의 차이 diamond %>% ggplot(aes(carat, price))+geom_point()+geom_smooth(method = “lm”,se=F, col=”red”, lty=2)+theme_classic() diamond %>% ggplot(aes(log_carat, log_price))+geom_point()+geom_smooth(method = “lm”,se=F, col=”red”, lty=2)+theme_classic() 뭐가 달라졌는지는 길게 언급하지 않아도 될 것 같다. summary(lm(price~carat, data=diamond)) ## ## Call: ## lm(formula = price ~ carat, data = diamond) ## ## Residuals: ## Min 1Q Median 3Q Max ## -6311.3 -754.9 -84.0 469.2 9274.4 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -2109.3 135.7 -15.54 <2e-16 *** ## carat 7470.8 156.9 47.62 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 1424 on 498 degrees of freedom ## Multiple R-squared: 0.8199, Adjusted R-squared: 0.8196 ## F-statistic: 2268 on 1 and 498 DF, p-value: < 2.2e-16 summary(lm(log_price~log_carat, data=diamond)) ## ## Call: ## lm(formula = log_price ~ log_carat, data = diamond) ## ## Residuals: ## Min 1Q Median 3Q Max ## -0.98687 -0.16119 -0.01754 0.16639 1.08327 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 8.45525 0.01452 582.32 <2e-16 *** ## log_carat 1.67177 0.02104 79.47 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.2592 on 498 degrees of freedom ## Multiple R-squared: 0.9269, Adjusted R-squared: 0.9268 ## F-statistic: 6316 on 1 and 498 DF, p-value: < 2.2e-16 회귀방정식의 R-squared 수치도 0.8199에서 0.9269로 증가하였다. 로그 변환 후의 회귀방정식 결과는 \[log(price)=1.672\times log(carat)+8.455\] price= exp(1.672*log(carat)+8.455) 으로 표현할 수 있다. (다변수 분석 결과는 더 복잡해지며 Box-Cox 사용하면 더욱 혼잡해 진다. 먼저 언급했던 계산하기 쉽고 어려운게 이 의미이다. 사실 다이아몬드 예제는 로그 변환 후 모형결과가 굉장히 많이 좋아지는 예제이다. 그럼에도 불구하고 사용된 두 가지 변수 모두 변환후에도 정규성을 만족하지는 못했다. 우선 carat의 경우를 보면 봉우리가 3개 있는 것이 문제의 하나로 보인다. 그 지점을 보면 0.5, 1, 1.5 캐럿의 지점이다. 다이아 반지를 살 때 대개 5부, 1캐럿 반지를 많이 하지 0.6캐럿, 1.2캐럿 반지는 잘 못 들어 본 것 같다. 다이아를 자를 때 0.5, 1캐럿에 맞게 자르는 경우가 많을 것 같다. 예를 들어 0.6캐럿 다이아 라면 좀 흠집 있어 보이는 부분을 잘라내서 높은 수준의 0.5캐럿 반지를 만든다던가… 가격도 보면 5000불 에서 평행한 부분이 보이는데 로그변환 그래프를 보면 그 부분이 좀 더 두드러져 보인다 (\(e^{8.5}=4914\)). 가격의 심리적 저항선을 의미하는 것 같다. 결국 이렇게 봉우리가 생기는 것은 서로 다른 여러 집단이 혼재되어 있다는 의미이며, 정확한 결과를 얻기 위해서는 이를 분리해서 분석하는 것이 합리적이다. 나 같으면 0.5캐럿과 1캐럿 다이아만 따로 분리해서 분석한 후 이해가 완벽해지면 자료를 통합해서 분석하는 방법을 택할 것 같다. 의학논문의 특성 상 대상자가 사람이라서 대상자 한 사람이라도 아까워서 일부 대상자에 대해서만 분석한다는 생각을 하기 힘든데, 그게 전체적으로 봐서는 오히려 손해일 수도 있다. 어쩔 수 없는 경우 density그래프 상 종 모양 까지는 아니더라도 어느 정도 even하게 펼쳐져 있고, skew와 kurtosis 지표가 \(\pm 2\) 이내인 경우, 이 변수를 변환한 채로 사용할 지 말지의 결정을 다변수 분석 후 까지 미룬다. 그리고 원칙적으로 정규성을 만족해야 하는 것은 결과변수뿐이다. 원인변수는 그냥 even 하게 펼쳐져 있기만 하면 분석에 문제가 없다. 6. 노인 우울증 자료 head(dep) ## Women age edu ainc health sick work PHQ9 ## 1 1 75 2 57.91667 5 1 2 19 ## 2 1 68 1 71.00000 1 2 1 0 ## 3 0 65 1 100.00000 3 2 2 3 ## 4 1 70 1 40.00000 5 1 2 18 ## 5 1 68 3 175.00000 3 2 2 11 ## 6 1 78 1 34.16667 3 1 1 0 str(dep) ## 'data.frame': 318 obs. of 8 variables: ## $ Women : num 1 1 0 1 1 1 0 1 0 1 ... ## $ age : num 75 68 65 70 68 78 67 73 65 70 ... ## $ edu : Factor w/ 4 levels "1","2","3","4": 2 1 1 1 3 1 1 1 1 3 ... ## $ ainc : num 57.9 71 100 40 175 ... ## $ health: Factor w/ 5 levels "1","2","3","4",..: 5 1 3 5 3 3 2 1 4 3 ... ## $ sick : Factor w/ 2 levels "1","2": 1 2 2 1 2 1 2 2 2 2 ... ## $ work : Factor w/ 2 levels "1","2": 2 1 2 2 2 1 2 2 2 1 ... ## $ PHQ9 : num 19 0 3 18 11 0 0 0 2 1 ... ## - attr(*, "na.action")= 'omit' Named int 8 14 28 32 33 63 96 97 106 110 ... ## ..- attr(*, "names")= chr "8" "14" "28" "32" ... 65세 이상 단독가구 노인 318명의 우울지수(PHQ-9)에 대한 가상자료이다. ainc(가구 월수입)과 PHQ9을 중심으로 보자. shapiro.test(dep$ainc) ## ## Shapiro-Wilk normality test ## ## data: dep$ainc ## W = 0.39498, p-value < 2.2e-16 describe(dep$ainc) ## vars n mean sd median trimmed mad min max range skew kurtosis ## X1 1 318 75.03 99.96 54.58 60.39 34.96 17 1500 1483 9.76 129.3 ## se ## X1 5.61 dep %>% ggplot(aes(ainc))+geom_density(col=”red”, fill=”red”, alpha=0.05)+theme_classic() qqPlot(dep$ainc) ## [1] 21 46 월수입은 우로 치우쳐 있으며, 노인 연금 때문인지 최소값은 17만원이라서 (0을 포함하지 않아서) 로그변환에 문제는 없어 보인다. 한 달에 1500만원 번다고 응답한 사람도 있어서 이를 이상값으로 고려해야 할까 고민할 수도 있겠지만, 먼저도 언급했듯이 정규변환 이전까지는 이상치에 대한 고민을 하지 말라고 언급했었다. 현 상황에서는 옛 어른들의 말씀대로 무작정 로그변환하고 상황을 볼지 아니면 적절한 \(\lambda\)값을 찾을지 원하는 대로 골라도 될 것 같다. boxCox(dep$ainc~1) 최적의 \(\lambda\)가 0도 아니고 -0.5도 아니게 어중간하게 되었다. 이럴때는 그냥 0에 더 가깝기도 하고 옛 어른들의 발씀을 따를 겸 로그 씌우는 방법이 나을 수도 있겠지만, 월소득 변수는 원인변수이니 결과변수 일 때처럼 계산에 강박적이지 않아도 된다 (논문 중간에 정규성 확보 위해서 -0.25승 했다면 소득에 따른 우울감이 논문의 주제가 아니라면 적당히 넘어가는 게 가능하다). 하여간 그림을 확대해 보자. boxCox(dep$ainc~1, lambda = seq(-0.3,-0.1, 0.01)) 로그변환과 -0.25승 Box-Cox 변환을 둘 다 해서 비교해 보면 dep$log_ainc <- log(dep$ainc) dep$ainc2 <- ((dep$ainc^-0.25)-1)/(-0.25) shapiro.test(dep$log_ainc) ## ## Shapiro-Wilk normality test ## ## data: dep$log_ainc ## W = 0.97047, p-value = 4.267e-06 shapiro.test(dep$ainc2) ## ## Shapiro-Wilk normality test ## ## data: dep$ainc2 ## W = 0.98271, p-value = 0.000709 describe(dep$log_ainc) ## vars n mean sd median trimmed mad min max range skew kurtosis ## X1 1 318 4.02 0.7 4 4 0.66 2.83 7.31 4.48 0.56 1.06 ## se ## X1 0.04 describe(dep$ainc2) ## vars n mean sd median trimmed mad min max range skew kurtosis ## X1 1 318 2.52 0.25 2.53 2.52 0.23 2.03 3.36 1.33 -0.02 -0.26 ## se ## X1 0.01 dep %>% ggplot(aes(log_ainc))+geom_density(col=”red”, fill=”red”, alpha=0.05)+theme_classic() dep %>% ggplot(aes(ainc2))+geom_density(col=”blue”, fill=”blue”, alpha=0.05)+theme_classic() qqPlot(dep$log_ainc, col.lines = “red”) ## [1] 21 46 qqPlot(dep$ainc2, col.lines = “blue”) ## [1] 21 46 Box-Cox 변환 결과가 좀 더 나아보이기는 하지만, 그 결정은 연구자가 해야한다. 내 논문에 소득이 중요하고 그 결과가 수식으로 필요하다면 로그변환이 나을 것이지만, 단순히 covariate로 보정하기 위해서라면 Box-Cox 결과가 더 좋을 것이다. 마지막은 PHQ-9에 대해 볼 것이다. shapiro.test(dep$PHQ9) ## ## Shapiro-Wilk normality test ## ## data: dep$PHQ9 ## W = 0.75248, p-value < 2.2e-16 describe(dep$PHQ9) ## vars n mean sd median trimmed mad min max range skew kurtosis se ## X1 1 318 3.78 5.11 2 2.73 2.97 0 23 23 1.65 2.01 0.29 dep %>% ggplot(aes(PHQ9))+geom_density(col=”red”, fill=”red”, alpha=0.05)+theme_classic() qqPlot(dep$PHQ9) ## [1] 137 41 PHQ-9 역시 우로 치우쳐 있으며, 0을 포함하기 때문에 만약 변환이 필요한 경우 Yeo-Johnson 변환을 이용해야 한다. 그 첫 단계는 변수가 0을 초과할 수 있도록 1을 더해주는 것이다. boxCox((dep$PHQ9+1)~1) boxCox((dep$PHQ9+1)~1, lambda = seq(-0.4,-0.1,0.01)) dep$PHQ2 <- (((dep$PHQ+1)^-0.25)-1)/(-0.25) shapiro.test(dep$PHQ2) ## ## Shapiro-Wilk normality test ## ## data: dep$PHQ2 ## W = 0.87244, p-value = 1.45e-15 describe(dep$PHQ2) ## vars n mean sd median trimmed mad min max range skew kurtosis ## X1 1 318 0.84 0.74 0.96 0.8 1.17 0 2.19 2.19 0.15 -1.39 ## se ## X1 0.04 dep %>% ggplot(aes(PHQ2))+geom_density(col=”blue”, fill=”blue”, alpha=0.05)+theme_classic() qqPlot(dep$PHQ2, col.lines = “blue”) ## [1] 137 41 PHQ-9의 경우에는 적절한 변환을 했음에도 불구하고 제대로 된 정규분포를 만족하지 않는다. 그 이유는 0점이 너무 많아서 이며, 만약 PHQ-9을 결과변수로 사용하려 했다면 이런 식으로 변환된 결과를 사용해서는 안된다. PHQ-9을 결과변수로 논문을 계획했다면, 적절한 지점을 기준으로 2군으로 잘라서 로지스틱 회귀분석을 돌리거나, PHQ-9 자체가 자연수인 정수 값을 가지니 poission, zero-inflated poission, negative-binomial, zero-inflated negative-binomial 4가지 분석을 시행해서 최적 결과를 도출 둘 중 하나의 방법으로 진행해야 할 것이다.

R을 이용해서 정규성 검정을 해보자! -깜신의 통계 이야기 2탄-

임상 시험을 통계적으로 분석할 때 가장 중요한 건, 어떤 통계기법을 사용할 거냐는 문제일 겁니다. 집단 사이의 비교에서도 가장 익숙한 student’s t test에서부터 Mann-Whitney U test, Welch’s t test 등등 다양한 통계기법이 있기 때문에 통계 초심자는 처음부터 주눅이 들기 마련이거든요. 그래서 실은 “이런 상황에서는 어떤 통계기법이 적당할까요? 우리 함께 찾아보아요.” 형식의 글을 준비하고 있었습니다. 그런데 그 전에 정규성 검정과 등분산 검정 요령에 대해서는 먼저 설명해 드려야겠더군요. 집단의 관찰치값이 정규성 분포를 하느냐, 집단들이 서로 동일한 분산을 갖고 있느냐에 따라 통계기법 선택이 달라지기 때문입니다. 오늘은 그중 R을 이용해서 정규성을 검정하는 방법을 알아보도록 하겠습니다.

주의) 이 글을 읽으시면서 메인 폰트보다 옅은 색으로 쓰여진 글은 읽지 않으셔도 무방합니다. 다시 말해, 해당 내용이 이해가 되지 않는다고 머리를 쥐어뜯지 마시고 그냥 술술 넘어가시라는 겁니다. 통계를 처음 공부할 때 가장 큰 장벽이 화성인들이나 쓸법한 낯선 언어적 장벽이었던 것 같습니다. 일단은 짙은 색 글만 읽으면서 묻지 말고 따라 하시고, 나중에 통계에 재미가 붙으면 그때 저와 함께 이 빌어먹을 통계 언어로 free talking 해보도록 해요.

단일 집단의 정규성 검정을 해보아요

임상 연구에서 가장 많이 쓰이는 건 실험군-대조군을 비교하는 연구이지만, 순서대로 먼저 단일 집단의 관찰치들이 정규성 분포를 하는지 확인 하는 과정을 알아보죠. (이 과정은 대게 실험군의 관찰치 평균을 우리가 알고 있는 모집단의 평균과 비교하기 위해서 시행하는 One sample t test의 준비작업에서 흔히 쓰입니다.)

먼저, 공부하실 때 쓸 데이터 파일을 나눠드리도록 하겠습니다.

normality1.csv

(깜신의 통계이야기 1편에서 설명해 드렸던 것처럼, 제가 가지고 있는 엑셀 파일에서 필요한 부분만 선택해서 CSV 파일 형식으로 저장한 겁니다. CSV 파일이 낯설다면 1편을 읽어보시기 바랍니다.)

R을 시행하시고, 프롬프트 창에

blog1=read.csv(“파일명”)

을 입력해주세요. 파일명에는 당연히 파일이 위치한 경로를 지정해주세요.

(R의 설치나, 이 명령어가 생소하다면, 마찬가지로 1편을 읽어보세요.)

에러 없이 “>” 모양의 프톰프트가 깜빡이고 있다면, 잘하신 겁니다. 그럼 이제

ls()

라고 입력해보세요.

아마 여러분 R창에는 “blog1″하나만 표시될 겁니다. 맨 처음 입력하셨던 명령어 첫 번째 줄이 normality1.csv 파일 안의 데이터를 불러와서 blog1이라는 오브젝트를 만들라는 내용이거든요.

제 결과에 “d”, “d2’…. 등등이 추가로 보이는 건, 제가 요즘 작업하는 연구 데이터들이 함께 보이는 거니까, 신경 쓰지 마세요.

이제 프롬프트 뒤에

blog1

이라고 입력해보세요.

데이터가 총 20개 들어 있는 게 보입니다.

attach(blog1)

이라고 입력해보세요.(attach()함수에 대해서도 1편에 설명하였으니, 오늘은 생략합니다.)

여기까지 따라오셨으면, 정규성 검정을 위한 모든 준비가 끝난 겁니다.

바로, 단일 관찰치들의 정규성을 검정하기 위해서 가장 흔히 사용하는 Shapiro Wilk normality test를 이용해서 우리가 가지고 있는 데이터의 정규성을 검정해보도록 하죠.

Shapiro.test(벡터이름)

라고 입력하세요. 여기서는 벡터이름이 blog1이 되겠죠.

동일한 결과가 보이시나요?! 해당 데이터에서는 p값이 0.8867로 0.05보다 크니까, 정규분포를 한다고 가정할 수 있겠군요.

(Shapiro-Wilk normality test에서 귀무가설은 ‘관찰치 값이 정규분포를 따른다.’는 것이고 대립가설은 ‘정규분포를 따르지 않는다.’고 설정됩니다. 위의 경우에서는 p값이 0.05보다 커서(=0.8867) 귀무가설을 기각하지 못하므로, 대립가설을 채택하지 못하고, 귀무가설 즉 관찰치 값이 정규분포를 따른다고 가정할 수 있게 되는 겁니다.)

두 집단 이상일 때 정규성 검정을 해보아요

단일 집단의 정규성 검정을 마스터했으니, 이제 두 집단 또는 그 이상의 집단들을 비교할 때 정규성을 가정할 수 있는지 알아보는 과정을 배워보죠. 사실, 지금부터가 오늘의 핵심입니다. 임상 연구에서 가장 많이 쓰이는 연구가 실험군-대조군을 비교하는 거니까요.

이번 통계작업을 하기 전에 아까, attach 시켜놓았던 ‘blog1’ 오브젝트를 detach 시키도록 하겠습니다.

프롬프트 창에

detach()

라고 입력하시면, 그동안 attach()함수로 메모리에 상주시켰던 모든 오브젝트들이 지워집니다. 물론, 그렇다고 데이터가 들어 있는 오브젝트 자체가 지워지는 건 아니고요. 오브젝트를 지우시려면

remove(‘오브젝트 이름’)

이라고 입력하셔야 합니다.

이번에는 두 집단 비교를 위한 샘플 데이터를 나눠드리겠습니다.

blog.csv

(1편에서 나눠드렸던 파일과 같은 거니까, 1편에서 다운받으셨다면 그 파일을 그냥 이용하세요.)

그리고, 아까 한 것처럼 read.csv(“파일명”) 함수를 이용해서 blog2라는 오브젝트를 생성해보죠.

blog2=read.csv(“파일경과와 이름”)

이라고 명령하시고, ls() 함수로 blog2 오브젝트가 잘 생성되었는지 확인해보세요. attach()함수로 blog2 오브젝트를 메모리에 올리셨다면 이제 얼추 준비가 마무리되었습니다.

지금까지 잘 따라오셨나요?!

blog2

라고 입력해서 데이터를 먼저 확인해보죠.

데이터가 잘 입력되었으면, 지금부터가 중요합니다.

output=lm(종속변수~독립변수,datat=오브젝트이름) shapiro.test(resid(output)

이라고 한 줄씩 입력하세요.

p값이 0.004821로 계산된 게 보이시나요? 단일 집단 정규성 검정 때와 마찬가지로

p값이 0.05보다 크다면 정규분포를 한다고 보고, 0.05보다 작다면 정규분포를 따른다고 볼 수 없습니다.

이 경우에서는 0.05보다 p값이 한참 작으니까, 데이터의 정규성을 가정할 수 없는 거죠.

세 집단을 비교하는 경우에도 똑같이 하시면 되고, 동일하게 p값을 해석하시면 됩니다. 참 쉽죠?! ^^;

(더 나아가서, p값이 0.05보다 작아서 정규분포를 가정할 수 없으므로, 집단 사이의 평균을 비교할 때 모수적인 통계 방법을 쓸 수 없다는 겁니다. 이럴 때는 비모수적 통계기법이 필요하게 되죠. 이 내용에 대해서는 차차 알아보도록 하겠습니다.)

(의학 또는 보건통계 관련 책들을 보다 보면, 위의 방식처럼 하지 않고 각 그룹을 따로따로 정규성 검정을 하는 경우가 많습니다. 아래 그림처럼 말이죠. 물론, 아래처럼 따로 나눠 해도 결과는 동일하게 나옵니다. 나눠드린 데이터의 경우 각각을 shapiro.test()함수를 이용해서 검정해보면, group2의 경우는 p값이 0.2로 0.05보다 커서 정규분포를 한다고 가정할 수 있지만, group1의 경우는 p값이 0.0001016으로 정규분포를 하지 않는 걸 알 수 있습니다. 두 그룹이 모두 정규분포를 해야 모수적 통계 방법을 쓸 수 있는데, 한 그룹이 정규분포를 하지 않으니, 결국 비모수적 통계기법을 사용해야 하죠.

하지만 모수적 통계기법의 초기 가정을 더 깊이 들어가 보면, 두 집단의 분포가 정규분포를 따른다고 가정할 수 있으면, 두 표본평균치 차(X1-X2)들의 분포도 정규분포를 따른다고 가정하는 겁니다. 그러므로 두 집단이든 세 집단이든 집단 간의 표본평균치를 비교할 때는 위에서처럼 lm()함수를 이용해서 얻은 결과값을 resp()함수를 통해 잔차를 계산하고 이 값의 정규성을 shapiro.test()함수를 이용해 정규성을 검정하는 게 원론적인 측면에서 더 합당하다고 볼 수 있습니다.

물론, 이게 무슨 귀신 씨나락 까먹는 소리냐 싶으신 분들은 그냥 저를 믿고, 위의 방식 때로 정규성 검정을 하시면 됩니다. ^^)

(이렇게 각 집단의 정규성을 확인하는 방식이 의학통계 책 대부분에서 소개하는 방법입니다. 물론, 이렇게 해도 결과에는 문제가 없습니다. 좀 더 손이 많이 가서 귀찮은 게 함정이라면 함정이지만요.)

So you have finished reading the r 정규성 검정 topic article, if you find this article useful, please share it. Thank you very much. See more: kolmogorov-smirnov 검정, SPSS 정규성 검정, shapiro.test in r, Shapiro-Wilk 검정, t-test 정규성 검정, 정규성검정 p값, 미니탭 정규성 검정, 정규성 검정 실패

Leave a Comment