R에서 ROC curve를 그리는 방법
ROC curve는 threshold의 변화에 따른 민감도와 특이도의 함수입니다. 이론이 궁금하신 분들은 아래 링크를 참고해주세요. https://hsm-edu.tistory.com/1033 R에서 ROC curve를 그릴 때 사용하는 대표적인 두 가지 함수가 있습니다. 각 함수를 사용해보기 전에 먼저 상황을 하나 설정하겠습니다. 어떤 병을 진단하는 기준으로 혈액에서 채취한 k값을 사용할 것이라 합시다. 얼마의 k값을 기준으로 해야하는지 정하기 위해 정상인 10명과, 환자 10명을 모집하여 k값을 측정했습니다. 정상 : 11.1, 14.3, 13.1, 12.5, 12.4, 12.3, 12.1, 10.4 ,14.4 ,12.9 환자 : 15.8, 13.5, 15.7, 16.3, 17.1, 17.8, 16.2..
2020. 9. 7.
R 피어슨 상관분석
R 피어슨 상관분석 #1. 방법 cor.test(x, y, alternative = c("two.sided", "less", "greater"), method = c("pearson", "kendall", "spearman"), exact = NULL, conf.level = 0.95, continuity = FALSE, ...) 스피어만이나 켄달의 타우 검정을 해야한다면 method 옵션을 입력해주면 됩니다. #2. 예제 R 내장 데이터 중 trees 데이터를 이용합니다. 먼저 trees 데이터를 살펴봅시다. > head(trees) Girth Height Volume 1 8.3 70 10.3 2 8.6 65 10.3 3 8.8 63 10.2 4 10.5 72 16.4 5 10.7 81 18.8 6 1..
2019. 12. 2.
[R 통계분석] 윌콕슨 부호순위 검정
[R 통계분석] 윌콕슨 부호순위 검정 #1. 방법 wilcox.test(x, y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, paired = TRUE, exact = NULL, correct = TRUE, conf.int = FALSE, conf.level = 0.95, ...) ▶ x,y 자리에 데이터 입력함. ▶ 대응표본 t검정 대신 사용하는 비모수검정. ▶ 정규성 검정이 기각될 경우 사용. ▶ paired 옵션을 TRUE로 설정할 경우 윌콕슨 순위합 검정이 수행됨. #2. 예제 > 코드 #데이터 생성 set.seed(1) height_before=rnorm(15,175,5) height_after=rnorm(15,165,5) #..
2019. 11. 29.
[R 통계분석] 윌콕슨 순위합 검정 (Mann–Whitney U test)
[R 통계분석] 윌콕슨 순위합 검정 (Mann–Whitney U test) #1. 방법 wilcox.test(x, y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, paired = FALSE, exact = NULL, correct = TRUE, conf.int = FALSE, conf.level = 0.95, ...) ▶ x,y 자리에 데이터 입력함. ▶ 독립표본 t검정 대신 사용하는 비모수검정. ▶ 정규성 검정이 기각될 경우 사용. ▶ Mann–Whitney U test 라고도 부름. #2. 예제 > 코드 #데이터 생성 set.seed(1) height_male=rnorm(15,175,5) height_female=rnorm(15,..
2019. 11. 29.
[R 통계분석] 독립표본 t 검정 | 등분산 가정
[R 통계분석] 독립표본 t 검정 | 등분산 가정 #1. 방법 t.test(x, y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, paired = FALSE, var.equal = TRUE, conf.level = 0.95, ...) ▶ x,y 자리에 데이터 입력함. ▶ var.equal=FALSE 가 디폴트 값, TRUE로 놓으면 등분산가정 t검정 수행. #2. 예제 > 코드 #데이터 생성 set.seed(1) height_male=rnorm(50,175,5) height_female=rnorm(50,165,5) #t검정 수행 #귀무가설 : height_male = height_female t.test(height_male, heig..
2019. 11. 29.
[R 통계분석] 독립표본 t 검정 | 이분산 가정
[R 통계분석] 독립표본 t 검정 | 이분산 가정 #1. 방법 t.test(x, y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, paired = FALSE, var.equal = FALSE, conf.level = 0.95, ...) ▶ x,y 자리에 데이터 입력함. ▶ var.equal=FALSE 가 디폴트 값, 이분산 가정 t검정을 수행. ▶ 이분산가정 t검정을 Welch's t-test라고 부름. #2. 예제 > 코드 #데이터 생성 set.seed(1) height_male=rnorm(50,175,5) height_female=rnorm(50,165,5) #t검정 수행 #귀무가설 : height_male = height_fema..
2019. 11. 29.
[R 통계분석] 단일표본 t검정
[R 통계분석] 단일표본 t검정 #1. 방법 t.test(x, y = NULL, alternative = c("two.sided", "less", "greater"), mu = 모집단 평균, paired = FALSE, var.equal = FALSE, conf.level = 0.95, ...) ▶ x에 데이터 입력, y는 입력하지 않음. ▶ mu=모집단평균 옵션 입력 시 단일표본 t검정 수 #2. 예제 > 코드 #데이터 생성 set.seed(1) height=rnorm(50,175,5) population_mean=177 #t검정 수행 #귀무가설 : height = population_mean t.test(height,mu=population_mean) #귀무가설 : height < population..
2019. 11. 28.
[R 통계분석] Bartlett test (등분산검정)
[R 통계분석] Bartlett test (등분산검정) #1. 방법 bartlett.test(x, g, ...) y자리에 전체 데이터, group 자리에 분류기준을 입력한다. 예를들어 남녀 그룹의 키를 비교하는 경우, y자리에는 전체 키 데이터를 입력하고 group 자리에는 각 데이터의 성별을 입력한다. #2. 예제 > 코드 #표본생성 set.seed(1) group1=rnorm(50,0,1) group2=rnorm(50,0,1) #형식에 맞게 수정 y=c(group1,group2) group=c(rep(1,50),rep(2,50)) #Bartlett test 수행. bartlett.test(y,group) > 실행결과 > bartlett.test(y,group) Bartlett test of homog..
2019. 11. 28.
[R 통계분석] Brown-Forsythe test (등분산검정)
[R 통계분석] Brown-Forsythe test (등분산검정) #1. 방법 levene.test(y, group, location = c("median", "mean", "trim.mean"), trim.alpha = 0.25, bootstrap = FALSE, num.bootstrap = 1000, kruskal.test = FALSE, correction.method = c("none", "correction.factor", "zero.removal", "zero.correction")) y자리에 전체 데이터, group 자리에 분류기준을 입력한다. 예를들어 남녀 그룹의 키를 비교하는 경우, y자리에는 전체 키 데이터를 입력하고 group 자리에는 각 데이터의 성별을 입력한다. levene's t..
2019. 11. 28.
[R 통계분석] F test (등분산검정)
[R 통계분석] F test (등분산검정) #1. 방법 var.test(x, y, ratio = 1, alternative = c("two.sided", "less", "greater"), conf.level = 0.95, ...) x,y 자리에 데이터 입력. #2. 예제 > 코드 #표본생성 set.seed(1) group1=rnorm(50,0,1) group2=rnorm(50,0,1) #F test 수행 var.test(group1,group2) > 실행결과 > var.test(group1,group2) F test to compare two variances data: group1 and group2 F = 0.73641, num df = 49, denom df = 49, p-value = 0.287..
2019. 11. 28.
[R 통계분석] Kolmogorov-sminov test (정규성검정)
[R 통계분석] Kolmogorov-sminov test (정규성검정) #1. 방법 ks.test(x, y, ..., alternative = c("two.sided", "less", "greater"), exact = NULL) x 자리에 데이터, y자리에 pnorm 입력. #2. 예제 > 코드 #표본생성 set.seed(1) group1=rnorm(50,0,1) #ks test 수행 ks.test(group1,pnorm) > 실행결과 > ks.test(group1,pnorm) One-sample Kolmogorov-Smirnov test data: group1 D = 0.13466, p-value = 0.2974 alternative hypothesis: two-sided
2019. 11. 28.
[R] 카이제곱분포(chi-squared distribution) 함수,사용법,표본추출
[R] 카이제곱분포(chi-squared distribution) 함수,사용법,표본추출 #1. 카이제곱분포와 관련된 함수 dchisq : 확률밀도함수(probability density function)pchisq : 누적분포함수(cumulative distribution function)qchisq : 누적분포함수의 역함수(inverse cumulative distribution function)rchisq : 임의추출 #2. 사용방법 누적분포함수의 경우 왼쪽꼬리가 디폴트값입니다. dchisq(x, df, ncp = 0, log = FALSE) pchisq(q, df, ncp = 0, lower.tail = TRUE, log.p = FALSE) qchisq(p, df, ncp = 0, lower.tai..
2019. 11. 28.
[R] f분포(f distribution) 함수,사용법,표본추출
[R] f분포(f distribution) 함수,사용법,표본추출 #1. f분포와 관련된 함수 df : 확률밀도함수(probability density function)pf : 누적분포함수(cumulative distribution function)qf : 누적분포함수의 역함수(inverse cumulative distribution function)rf : 임의추출 #2. 사용방법 누적분포함수의 경우 왼쪽꼬리가 디폴트값입니다. df(x, df1, df2, ncp, log = FALSE) pf(q, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE) qf(p, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE) rf(n, df1, df..
2019. 11. 28.
[R] t분포(t distribution) 함수,사용법,표본추출
[R] t분포(t distribution) 함수,사용법,표본추출 #1. t분포와 관련된 함수 dt : 확률밀도함수(probability density function)pt : 누적분포함수(cumulative distribution function)qt : 누적분포함수의 역함수(inverse cumulative distribution function)rt : 임의추출 #2. 사용방법 누적분포함수의 경우 왼쪽꼬리가 디폴트값입니다. dt(x, df, ncp, log = FALSE) pt(q, df, ncp, lower.tail = TRUE, log.p = FALSE) qt(p, df, ncp, lower.tail = TRUE, log.p = FALSE) rt(n, df, ncp) 입력변수를 쉽게 설명하면 아래..
2019. 11. 28.
[R] 정규분포(normal distribution) 함수,사용법,표본추출
[R] 정규분포(normal distribution) 함수,사용법,표본추출 #1. 정규분포와 관련된 함수 dnorm : 확률밀도함수(probability density function)pnorm : 누적분포함수(cumulative distribution function)qnorm : 누적분포함수의 역함수(inverse cumulative distribution function)rnorm : 임의추출 #2. 사용방법 평균과 표준편차를 설정합니다. 입력하지 않으면 디폴트 값인 0과 1이 입력되어 표준정규분포함수가 됩니다. 누적분포함수의 경우 왼쪽꼬리가 디폴트값입니다. dnorm(x, mean = 0, sd = 1, log = FALSE)pnorm(q, mean = 0, sd = 1, lower.tail = ..
2019. 11. 28.