R 프로그래밍에서 T-검정: 단일 표본 및 쌍대 표본 예제

⚡ 스마트 요약

R에서 t.test() 함수를 사용하여 평균을 비교하는 t-검정은 단일 표본과 고정된 목표값, 두 개의 독립적인 그룹, 그리고 쌍을 이루는 반복 측정값 등 다양한 경우를 포함합니다. 이 가이드에서는 각 변형을 실행하고, p-값을 정확하게 읽고, 기본 가정을 검증합니다.

  • 📐 핵심 통계: t값은 관찰된 평균 차이를 표준 오차로 나눈 값이므로, 값이 클수록 귀무 가설에 반하는 근거가 됩니다.
  • 🧪 단일 표본 검정: t.test(x, mu = 10)는 단일 벡터를 레시피 사양과 같은 이론값과 비교하여 검사합니다.
  • 👥 두 표본 검정: t.test(x, y)는 두 개의 독립적인 그룹을 비교하며, 분산이 같지 않은 경우 기본적으로 Welch 보정을 적용합니다.
  • 🔗 쌍대 테스트: `paired = TRUE`를 추가하면 피험자 내 차이의 평균을 검정하고 공유 변동을 제거합니다.
  • 가정 검증: p값을 보고하기 전에 shapiro.test()를 사용하여 정규성을 검정하고 var.test()를 사용하여 등분산성을 검정하십시오.
  • 📊 결정 규칙: p값이 0.05 미만이면 귀무가설은 기각되지만, 대립가설이 참이라는 것을 증명하는 것은 아닙니다.

R에서 한 표본 쌍에 대한 T 검정

통계적 추론이란 무엇입니까?

통계적 추론은 데이터 분포에 대한 결론을 도출하는 기술입니다. 데이터 과학자는 종종 과학적인 방법으로만 답을 찾을 수 있는 질문에 직면합니다. 따라서 통계적 추론은 가설이 참인지, 즉 데이터에 의해 검증되는지 여부를 확인하는 전략입니다.

가설을 평가하는 일반적인 전략은 두 평균이 같은지 여부를 알려주는 t-검정입니다. 이것은 또한 다음과 같이 알려져 있습니다. 학생 시험t-검정은 다음과 같은 경우에 계산할 수 있습니다.

  1. 고정된 값에 대한 단일 벡터 (단일 표본 t-검정)
  2. 서로 다른 두 그룹에서 추출한 두 개의 벡터 (독립 표본 t-검정)
  3. 동일한 피험자를 대상으로 측정한 두 벡터 (쌍체 t-검정)

모든 t-검정은 데이터가 무작위로 추출되었고 값(또는 쌍체 검정의 경우 차이)이 대략적으로 정규 분포를 따르는 모집단에서 추출되었다고 가정합니다. 독립 표본 t-검정은 두 그룹이 서로 독립적이라고 추가적으로 가정하며, 고전적인 t-검정은 두 그룹의 분산이 같다고 가정합니다.

R 프로그래밍에서 T-테스트란 무엇입니까?

T-검정의 기본 아이디어는 통계를 사용하여 두 가지 상반된 가설을 평가하는 것입니다.

  • H0귀무가설은 모집단 평균이 검정 대상 값과 같다는 것입니다.
  • H1대립가설은 모집단 평균이 해당 값과 다르다는 것입니다.

t-검정은 표본 크기가 작아 정규 근사가 신뢰할 수 없는 경우에 사용하도록 고안되었습니다. 이 검정을 위해서는 데이터가 대략적으로 정규 분포를 따른다는 가정이 필요합니다.

R의 T-테스트 구문

R의 t.test() 기본 구문은 다음과 같습니다.

t.test(x, y = NULL,
       mu = 0, var.equal = FALSE)
arguments:
- x : A vector to compute the one-sample t-test
- y: A second vector to compute the two sample t-test
- mu: Mean of the population under the null hypothesis
- var.equal: Specify whether the variances of the two vectors are equal. By default, set to `FALSE`
- paired: Set to `TRUE` when the two vectors are repeated measures on the same subjects

테스트를 실행하기 전에 데이터 레이아웃이 테스트의 올바른 변형에 맞는지 확인하십시오.

R에서 사용하는 T-검정 유형

잘못된 변형을 선택하는 것이 t-검정에서 가장 흔한 실수이므로, 먼저 데이터 레이아웃에 맞는 변형을 선택하는 것부터 시작하세요.

타입 사용할 때 사용하세요 R 호출
단일 샘플 한 그룹은 알려진 목표값과 비교되었습니다. t.test(x, mu = 값)
독립적인 두 표본(웰치) 두 개의 별개의 그룹, 분산은 다를 수 있음 t.test(x, y)
독립적인 두 표본(풀링) 분산이 동일한 두 개의 별개의 그룹 t.test(x, y, var.equal = TRUE)
쌍을 이루어 동일한 피험자를 두 번 측정했습니다. t.test(x, y, paired = TRUE)
일방적 인 당신은 오직 한 방향의 차이에만 관심이 있군요. t.test(x, mu = 값, alternative = "더 큼")

그룹 수가 세 개를 넘어서면 t-검정은 더 이상 적절하지 않습니다. 다른 검정 방법으로 전환하세요. ANOVA 검정이는 반복적인 쌍대 비교를 통해 오류율을 높이는 대신 전체 오류율을 5%로 유지합니다.

R의 단일 표본 T-검정

단일 표본 t-검정 또는 학생 검정은 벡터의 평균을 이론적 평균과 비교합니다. R의 단일 표본 T-검정. t-검정을 계산하는 데 사용되는 공식은 다음과 같습니다.

R의 단일 표본 T-검정

여기

  • R의 단일 표본 T-검정 평균을 말한다
  • R의 단일 표본 T-검정 이론적 평균으로
  • s는 표준편차입니다.
  • n 관측치 수.

t-검정의 통계적 유의성을 평가하려면 다음을 계산해야 합니다. P-값이. 그만큼 P-값이 범위는 0에서 1까지이며 다음과 같이 해석됩니다.

  • p값이 0.05보다 작으면 귀무가설을 기각할 수 있습니다. 귀무가설을 기각하는 것이 가설 대립가설(H1)이 참임을 증명하는 것과 같은 의미는 아니며, 단지 데이터가 귀무가설 하에서 나타날 가능성이 낮다는 것을 의미합니다.
  • p값이 0.05보다 크면 귀무가설을 기각할 충분한 증거가 없다는 것을 의미합니다.

자유도가 다음과 같은 학생 분포에서 해당 t-검정의 절대값을 보고 p-값을 구성할 수 있습니다. R의 단일 표본 T-검정

예를 들어, 5개의 관측값이 있는 경우 t값을 자유도 4, 신뢰수준 95%인 스튜던트 분포와 비교합니다. 양측 검정에서 귀무가설을 기각하려면 t값의 절댓값이 2.776을 초과해야 합니다.

아래 표 참조:

R의 단일 표본 T-검정

R의 단일 샘플 T-검정 예

당신이 쿠키를 생산하는 회사라고 가정해 보세요. 각 쿠키에는 10g의 설탕이 들어 있다고 가정합니다. 쿠키는 모든 것을 섞기 전에 그릇에 설탕을 넣는 기계로 생산됩니다. 당신은 기계가 각 쿠키에 10g의 설탕을 추가하지 않는다고 생각합니다. 당신의 가정이 사실이라면 기계를 고쳐야 합니다. 쿠키 XNUMX개 분량의 설탕을 저장했습니다.

주의 사항: rnorm() 함수를 사용하여 무작위 벡터를 생성할 수 있습니다. 이 함수는 정규 분포 값을 생성합니다. 기본 구문은 다음과 같습니다.

rnorm(n, mean, sd)
arguments
- n: Number of observations to generate
- mean: The mean of the distribution. Optional
- sd: The standard deviation of the distribution. Optional

평균이 30이고 표준편차가 9.99인 0.04개의 관측값이 포함된 분포를 만들 수 있습니다.

set.seed(123)
sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04)
head(sugar_cookie)

출력:

## [1]  9.967581  9.980793 10.052348  9.992820  9.995172 10.058603

일표본 t-검정을 사용하여 설탕 함량이 레시피와 다른지 여부를 확인할 수 있습니다. 가설 검정을 그릴 수 있습니다.

  • H0: 평균 당도는 10과 같습니다.
  • H1: 평균 당도가 10과 다릅니다.

유의수준 0.05를 사용합니다.

# H0 : mu = 10
t.test(sugar_cookie, mu = 10)

출력은 다음과 같습니다.

R의 단일 샘플 T-검정 예

단일표본 t-검정의 p값은 0.1079로 유의수준 0.05보다 큽니다. 평균에 대한 95% 신뢰구간은 9.973g에서 10.002g까지이며, 목표값인 10g을 포함합니다. 따라서 귀무가설(H0)을 기각할 수 없습니다. 기계가 레시피에서 벗어났다는 충분한 증거가 없습니다.

R을 이용한 독립 표본 t-검정

독립 표본 t-검정은 가장 자주 사용되는 변형으로, 두 측정값이 서로 다른 대상에서 나온 경우(예: 두 개의 상점, 두 개의 기계, 두 개의 치료군)에 적용됩니다.

한 공장에서 두 개의 생산 라인을 운영하고 있는데, 두 라인에서 병에 담는 내용물의 무게가 동일한지 알고 싶다고 가정해 봅시다.

set.seed(123)
line_a <- rnorm(25, mean = 500, sd = 8)
line_b <- rnorm(25, mean = 505, sd = 8)

# Welch test, the safe default
t.test(line_a, line_b)

# Pooled test, only when the variances are equal
t.test(line_a, line_b, var.equal = TRUE)

출력 결과를 네 단계로 읽어보세요.

  1. t 는 두 평균 사이의 간격의 표준화된 크기입니다. 부호는 벡터를 전달한 순서만을 반영합니다.
  2. df 는 자유도입니다. 웰치 검정은 소수 값을 산출하지만, 통합 검정은 n1 + n2 – 2와 같은 정수 값을 산출합니다.
  3. P-값이 실제 평균값이 동일할 경우 이처럼 큰 차이가 나타날 확률입니다.
  4. 신뢰 구간 실제 차이의 범위를 나타냅니다. 범위에 0이 포함되면 해당 수준에서 차이는 유의미하지 않습니다.

데이터가 값 열 하나와 요인 열 하나로 구성된 단일 데이터 프레임에 있는 경우, 가독성이 더 좋고 데이터를 수동으로 분할할 필요가 없는 수식 인터페이스를 사용하는 것이 좋습니다.

t.test(weight ~ line, data = jars)

어떤 버전을 사용해야 할까요? 분산이 동일함을 테스트하고 확인하기 전까지는 `var.equal`을 기본값인 `FALSE`로 유지하십시오. 분산이 일치할 경우 웰치의 보정은 전력 소모가 거의 없으며, 분산이 일치하지 않을 때 오류를 방지해 줍니다.

R의 쌍체 T-검정

대응표본 t-검정(종속표본 t-검정이라고도 함)은 동일한 집단을 두 번 측정할 때 적용됩니다. 일반적인 적용 사례는 다음과 같습니다.

  • A / B 테스트: 두 가지 변형 비교
  • 사례 대조 연구: 동일한 피험자에 대한 치료 전후

R의 쌍체 T-검정 예

음료 회사가 할인 프로그램의 매출 성과를 알고 싶어합니다. 이 회사는 프로그램이 홍보되는 매장 중 한 곳의 일일 매출을 추적하기로 했습니다. 프로그램이 끝날 때 이 회사는 프로그램 전과 후 매장의 평균 매출에 통계적 차이가 있는지 알고 싶어합니다.

  • 회사 trac프로그램 시작 전에 매일 판매량을 확인했습니다. 이것이 우리의 첫 번째 벡터입니다.
  • 이 프로그램은 1주일 동안 홍보되고 매일 매출이 기록됩니다. 이것이 우리의 두 번째 벡터입니다.
  • 프로그램의 효율성을 판단하기 위해 t-테스트를 ​​수행합니다. 두 벡터의 값이 동일한 분포(즉, 동일한 상점)에서 나오므로 이를 쌍체 t-검정이라고 합니다.

가설 검정은 다음과 같습니다.

  • H0: 평균에는 차이가 없음
  • H1: 두 가지 의미가 다릅니다.

고전적인 t-검정은 두 그룹의 분산이 알려지지 않았지만 동일하다고 가정한다는 점을 기억하세요. 실제 데이터는 이러한 가정을 정확히 만족하는 경우가 드물며, 차이를 무시하면 결과가 왜곡될 수 있습니다.

해결책은 등분산 가정을 완화하는 웰치의 t-검정입니다. R은 var.equal이 별도로 지정하지 않는 한 기본적으로 FALSE이므로 이 검정을 적용합니다. 이 데이터 세트에서는 두 벡터 모두 동일한 표준 편차로 생성되었으므로 var.equal을 TRUE로 설정해도 안전합니다.

프로그램 이후 판매 평균이 더 높은 가우스 분포에서 두 개의 무작위 벡터를 만듭니다.

set.seed(123)
# sales before the program
sales_before <- rnorm(7, mean = 50000, sd = 50)
# sales after the program.This has higher mean
sales_after <- rnorm(7, mean = 50075, sd = 50)
# draw the distribution
t.test(sales_before, sales_after,var.equal = TRUE)

R의 쌍체 T-검정 예

p값은 0.04606으로 유의수준 0.05 바로 아래에 있으므로 귀무가설(H0)을 기각하고 두 평균값이 유의미하게 다르다고 결론짓습니다. 할인 프로그램이 매출 증가에 기여한 것으로 보입니다.

⚠️ 중요: 위의 호출은 두 벡터를 비교합니다. 독립 샘플입니다. 두 시리즈 모두 동일한 매장에 대한 측정값이므로 통계적으로 정확한 호출은 다음을 추가합니다. 쌍을 이룬 = 참:

t.test(sales_before, sales_after, paired = TRUE)

쌍을 이루는 형태의 검정은 두 평균의 차이가 아닌 일별 차이의 평균을 검정합니다. 이는 두 벡터가 공유하는 매장 수준의 변동을 제거하므로 통계적 검정력이 더 높습니다.

R에서 T-검정 가정을 확인하는 방법

t-검정의 p값은 가정이 충족될 때만 의미가 있습니다. 각 가정은 직접 확인할 수 있습니다.

1. 정상성. 단일 표본 검정과 두 표본 검정은 값들이 대략 정규 분포를 따른다고 가정합니다. 쌍체 검정은 다음과 같은 가정을 합니다. 차이 그렇습니다. QQ 플롯을 검사하고 샤피로-윌크 검정으로 확인하십시오.

qqnorm(sugar_cookie); qqline(sugar_cookie)
shapiro.test(sugar_cookie)

# for a paired design, test the differences
shapiro.test(sales_after - sales_before)

샤피로-윌크 p값이 0.05보다 크면 정규성 가설을 기각할 수 없습니다. 그룹당 관측치가 30개 이상인 경우, 중심극한정리에 따라 t-검정은 적당한 왜곡에 대해 강건한 결과를 보입니다.

2. 등분산. 이는 통합된 두 표본 검정에만 필요합니다. F 검정을 사용하여 테스트하십시오.

var.test(line_a, line_b)

p값이 0.05보다 크면 등분산성을 지지하는 것이므로 var.equal = TRUE로 설정하는 것이 타당합니다.

3. 독립. 이는 연구 설계에서 비롯된 것이므로 사후 검증이 불가능합니다. 동일한 피험자가 두 벡터 모두에 영향을 미치는 경우, 독립성 검정은 적절하지 않으며 쌍을 이루는 것이 중요합니다.

가정이 틀렸을 때. 표본 크기가 작고 정규분포를 따르지 않는 데이터의 경우, 순위 기반 검정을 사용하세요. `wilcox.test(x, y)`는 두 표본 t-검정을 대체하고, `wilcox.test(x, y, paired = TRUE)`는 대응표본 t-검정을 대체합니다. 두 검정 모두 정규성 가정을 요구하지 않지만, 데이터가 실제로 정규분포를 따르는 경우 검정력이 약간 감소합니다.

R을 이용한 T-검정: 핵심 요점 및 테스트 참조

  • 통계적 추론은 데이터 분포에 대한 결론을 생성하는 기술입니다.
  • T-테스트는 추론 통계의 한 종류입니다. 일반적으로 두 그룹의 평균 사이에 통계적 차이가 있는지 알아내는 데 사용됩니다.
  • 단일 표본 t-검정 또는 스튜던트 t-검정은 벡터의 평균을 이론적 평균과 비교합니다.
  • 쌍체 t-검정 또는 종속 표본 t-검정은 동일한 집단을 두 번 측정할 때 적용됩니다.

아래 표는 위에 설명된 각 테스트를 요약한 것입니다.

Test 테스트할 가설 P-값이 Code 선택적 인수
일표본 t-검정 벡터의 평균이 이론적인 평균과 다릅니다. 0.05
t.test(x, mu = mean)
대응표본 t-검정 동일한 피험자에 대해 평균 A는 평균 B와 다릅니다. 0.05
t.test(A, B, paired = TRUE)
var.equal = TRUE

독립적인 두 표본 검정에서 등분산을 가정할 의향이 있다면 `var.equal = TRUE`로 설정하십시오. 더 안전한 웰치 보정을 실행하려면 기본값인 `FALSE`를 그대로 두십시오.

자주 묻는 질문

쌍체 검정은 동일한 피험자를 두 번 측정했을 때 피험자 내 차이를 분석하는 방법입니다. 독립 검정은 서로 다른 두 집단을 비교하는 방법입니다. 쌍체 데이터에 독립 검정을 적용하면 정보가 손실되고 통계적 검정력이 감소합니다.

분산이 동일하다는 것을 확인하지 않은 경우에는 항상 Welch 검정을 사용하십시오. 이것이 바로 R이 기본적으로 Welch 검정을 적용하는 이유입니다. 분산이 동일할 때는 검정력 손실이 거의 없으며, 분산이 동일하지 않을 때는 오류율을 보호해 줍니다.

표본 크기가 작은 경우, wilcox.test() 함수를 사용하여 윌콕슨 순위합 검정 또는 부호순위 검정으로 전환하십시오. 표본 크기가 큰 경우, 중심극한정리에 따라 정규성에서 다소 벗어나더라도 t-검정의 신뢰도가 유지됩니다.

팀에서는 쌍체 t-검정을 사용하여 동일한 교차 검증 폴드에서 두 모델을 비교하고 A/B 실험 결과가 타당한지 판단합니다. 쌍체 설계는 비교에서 폴드 간 변동을 제거합니다.

네. AI 비서는 자유도를 설명하고, 신뢰 구간을 이해하기 쉬운 언어로 번역하며, 잘못된 변형을 선택했을 때 경고할 수 있습니다. 모든 측정값은 shapiro.test() 및 var.test() 결과를 통해 직접 확인하십시오.

이 게시물을 요약하면 다음과 같습니다.