t-test 샘플의 크기가 다를때 사용하는 방법

  t-검정은  두 데이터 셋의 평균값을 비교하고 동일한 모집단의에서 나온 것인지 결정 할 수 있다. 

아래의 데이터 셋의 예에서  Group 1과 Group 2의  다른 샘플은 가진다면,   동일한 평균과 표준편차를 가질 것이라고 기대할 수 없다. 

  수학적으로 t-검정은 각각의 값에서 표분을 취하고 두 평균이 동일하다는 귀무가설을 가정하여 문제 설명을 설정 한다.  적용 가능 한 공식을 기반으로 특정 값을 계산 하고 표준 값과 비교하여 이에 따라 가정된 귀무가설을 수락할 것이라 가정한다. 


  아래의 문제는 2개의 샘플의 갯수가 같은지 보는 것인데,  2개의 샘플이 다르다. 

샘플을 크기가 같은지 여부에 따라 아래와 같이 분석 한다. 


 t-test 

  아래와 같이  네이버 지식인에서  질문이 왔다. 

안녕하세요 R데이터를 이용하여  각 그룹의
#95% CI,  #t검정 을  구하라고 하는데 어떻게 써야 할까요? 이방법 저방법해봤지만 답이 달라서요ㅠㅠ 특히 T test요 ㅜㅜ

기프티콘 사례라도 드리겠습니다 ㅜㅜ




아래와 같이 문제를 풀었다.   첨부화일을 데이터 프레임으로 되어 있는데,   이것을 서브세팅($) 하여 벡터 객체로 바꾸어주어야 한다. 

#데이터 가져오기 
  library(dplyr)
  library(readr)
  df <- read_csv("ID_10.csv")
  glimpse(df)
## Rows: 75
## Columns: 3
## $ ...1  <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 1…
## $ x     <dbl> 2.53, 2.24, 0.58, 1.66, 2.91, 3.05, 0.81, 1.99, 0.22, 2.14, 4.04…
## $ Group <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
# 그룹별로 데이터 필터 하기     
  pre_Treatment <- df %>% 
                      filter(Group == 1)
  
  post_Treatment <- df %>% 
                      filter(Group == 2)
  
  
# t-test 하기 위한 데이터 벡터 만들기 
  pre_Treatment <-  pre_Treatment$x
  post_Treatment <-  post_Treatment$x

  t.test(pre_Treatment, post_Treatment )   
## 
##  Welch Two Sample t-test
## 
## data:  pre_Treatment and post_Treatment
## t = -4.2256, df = 65.487, p-value = 7.533e-05
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -1.8385695 -0.6585416
## sample estimates:
## mean of x mean of y 
##  2.018333  3.266889

벡터로 바꾸고 나서 t.test를 돌리고 나면 아래와 같이  결과가 나온다. 

해석하면, p-value 가 0.05 값이 이상이므로,  기무가설을 채택 하여, 이 둘 사이의 평균이 같다는 결론이 나온다. 

 CI 값은 아래와 같이 명시되어 있다. 
## 95 percent confidence interval:
##  -1.8385695 -0.6585416

댓글 7개:

  1. 아까 질문한 질문자입니다. t.test(group1,group2)이렇게 하면 전혀 다른 답이 나오는데 이건 틀린법인가요

    답글삭제
  2. Welch Two Sample t-testdata:  group1 and group2t = -4.13, df = 61.253,
    p-value = 0.0001117
    alternative hypothesis: true difference in means is not equal to 0
    95 percent confidence interval: -1.8075901 -0.6283007
    sample estimates:
    mean of x mean of y  
    2.034138  3.252083 .

    답글삭제
    답글
    1. group1, group2 데이터 셋을 어떻게 만드셨는지요?

      삭제

  3. degree of freedom 모집단의 데이터 갯수가 다르네요. 제가 작성 했던것
    ## t = -4.2256, df = 65.487, p-value = 7.533e-05

    선생님께서 작성 하셨던것
    t = -4.13, df = 61.253,
    p-value = 0.0001117

    답글삭제
  4. 원래 질문이 "각 '그룹'의 test of normality, 95% CI 와 sampling error, t-test를 구하고 결론을 지어라" 입니다. '제가 지식인에 올려드렸던 파일이 맞는데 왜 df가 다르게 나오는지모르겠어요. 차드보면 x, group (1&2)2개의 column 이고 총 75개.
    파일 데이타 셋의 링크를 붙여서 가동했습니다
    library(readr)
    ID_10 <- read_csv("Desktop/ID_10.csv")
    View(ID_10)

    이렇게 하고 여기서 부터#평균, 표준편차, 중앙값
    mean (group1)
    sd(group1) 이런식으로,,,,,









    #test normality

    shapiro.test(group1)

    shapiro.test(group2)







    #95% CI

    G1_CI=c(-1.96*sd(group1)/sqrt(length(group1)),1.96*sd(group1)/sqrt(length(group1)))

    G2_CI=c(-1.96*sd(group2)/sqrt(length(group2)),1.96*sd(group2)/sqrt(length(group2)))





    #t검정

    t-test (group1,group2) 하니까 저런 결과를 보여주는데 뭐가 맞는건지 너무어렵네요 ㅠㅠㅠ

    답글삭제
  5. 질문 올리셨던 첨부화일과, 사용하고 계신 첨부화일이 다릅니다. 사용하고 계신 첨부화일을 주십시오.

    답글삭제
    답글
    1. 구글이메일로 보내드리겠습니다

      삭제

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...