메뉴 건너뛰기

웹에서 하는 R 통계

Plot for distribution of common statistics and p-value

Keon-Woong Moon

2017-11-11

To understand the concept of p value is very important. To teach the the distribution of common statistic( χ2 for chisq.test() , t for Student’s t-test , F for F-test) and concept of the p-value, plot.htest() function can be used.

Package Installation

You can install this package form the github. Currently, package webr is under construction and consists of only one function - plot.htest().

#install.packages("devtools")
devtools::install_github("cardiomoon/webr")

Coverage of plot.htest()

The plot.htest() function is a S3 method for class “htest”. Currently, this function covers Welch Two Sample t-test, Pearson’s Chi-squared test, Two Sample t-test, One Sample t-test, Paired t-test and F test to compare two variances.

For Chi-squared Test

You can show the distribution of chi-squre statistic and p-value.

 require(moonBook)
 require(webr)
 
 # chi-squared test
 x=chisq.test(table(acs$sex,acs$DM))
 x

    Pearson's Chi-squared test with Yates' continuity correction

data:  table(acs$sex, acs$DM)
X-squared = 3.1296, df = 1, p-value = 0.07688
 plot(x)

For one sample t-test

You can show the distribution of t-statistic and p-value in one sample t-test.

t.test(acs$age,mu=63)

    One Sample t-test

data:  acs$age
t = 0.77978, df = 856, p-value = 0.4357
alternative hypothesis: true mean is not equal to 63
95 percent confidence interval:
 62.52736 64.09574
sample estimates:
mean of x 
 63.31155 
plot(t.test(acs$age,mu=63))

Student t-test to compare means for two independent samples

Before performing a t-test, you have to compare two variances.

F test to compare two variances

x=var.test(age~DM,data=acs)
x

    F test to compare two variances

data:  age by DM
F = 1.2383, num df = 552, denom df = 303, p-value = 0.0376
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 1.012416 1.505776
sample estimates:
ratio of variances 
          1.238288 
plot(x)

Use for Two Sample t-test for independence samples

Based on the result of var.test(), you can perform t.test with default option(var.equal=FALSE).

x=t.test(age~DM,data=acs)
x

    Welch Two Sample t-test

data:  age by DM
t = 0.58982, df = 682.36, p-value = 0.5555
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.112568  2.068014
sample estimates:
 mean in group No mean in group Yes 
         63.48101          63.00329 
plot(x)

Student t-test using pooled variance

To compare means of body-mass index between male and female patients, perform F test first.

var.test(BMI~sex,data=acs)

    F test to compare two variances

data:  BMI by sex
F = 1.2078, num df = 254, denom df = 508, p-value = 0.07756
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.9794315 1.5008098
sample estimates:
ratio of variances 
          1.207759 
plot(var.test(BMI~sex,data=acs))

Based on the result of F test, you can perform t-test using pooled variance.

x=t.test(BMI~sex,data=acs,var.equal=TRUE)
x

    Two Sample t-test

data:  BMI by sex
t = -0.50823, df = 762, p-value = 0.6114
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.6348532  0.3737344
sample estimates:
mean in group Female   mean in group Male 
            24.19492             24.32548 
plot(x)

Paired t-test

You can show the distribution of t-statistic and p-value in paired t-test.

x=t.test(iris$Sepal.Width,iris$Petal.Width,paired=TRUE)
plot(x)

Options for t-test

You can change the options of t.test.

x=t.test(BMI~sex, data=acs,conf.level=0.99,alternative="greater",var.equal=TRUE)
plot(x)

번호 제목 글쓴이 날짜 조회 수
공지 웹에서 하는 R 메타분석 [1] cardiomoon 2015.11.11 2544
공지 웹에서 하는 R 통계 게시판입니다. cardiomoon 2015.03.26 687
77 Nightingale's Rose Plot file cardiomoon 2017.11.16 33
» Plot for distribution of common statistics and p-value cardiomoon 2017.11.11 33
75 R package gglotAssist cardiomoon 2017.11.11 72
74 설문조사데이터 cardiomoon 2017.10.14 113
73 R에서 데이터 편집을 하자 - editData 패키지 [1] cardiomoon 2017.09.25 181
72 dplyrAssist 패키지 : RStudio Addin으로 dplyr을 쉽게 배우기 [1] cardiomoon 2017.09.03 107
71 "틀리지않는법" 강의슬라이드(문건웅) cardiomoon 2017.08.31 249
70 연속형변수를 기준으로 같은 크기를 갖는 여러 개의 그룹으로 나누기 cardiomoon 2017.06.19 149
69 3D visualization of multiple regression analysis file cardiomoon 2017.06.15 185
68 Visualize multiple regression model cardiomoon 2017.06.12 142
67 Longest common substring cardiomoon 2017.05.29 149
66 파일을 업로드 했는데 예제데이터에서 대체가 안됩니다. [2] guriguribangbang 2017.05.16 206
65 샤이니 앱 : interactive ggplot [1] file cardiomoon 2017.02.28 575
64 Procedural Programming vs Functional Programming(I) cardiomoon 2017.02.27 86
63 함수곡선 아래의 면적 구하기 cardiomoon 2016.12.22 292
62 Sample Size 계산 [1] cardiomoon 2016.11.26 382
61 moonBook2패키지 update 안내(7) cardiomoon 2016.11.09 295
60 moonBook2 패키지 업데이트 안내 cardiomoon 2016.11.08 240
59 한국행정지도(2014) 패키지 kormaps2014 안내 [3] cardiomoon 2016.10.31 528
58 생존분석: R을 이용한 상대생존률 구하기 cardiomoon 2016.10.21 456