相関とt検定

SAS ユーザーのための R

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

相関の比較 SASとR

SASのproc corrとRのpsych::corr.test関数の比較

SAS ユーザーのための R

相関のSAS/Rコード

SAS ユーザーのための R

psychパッケージでの相関

# Correlations with psych::corr.test()
daviskeep %>%
  select(bmi, weight, height) %>%
  psych::corr.test()
Call:psych::corr.test(x = .)
Correlation matrix
        bmi weight height
bmi    1.00   0.88   0.38
weight 0.88   1.00   0.77
height 0.38   0.77   1.00
Sample Size
[1] 199
Probability values (Entries above the
diagonal are adjusted for multiple tests.)
       bmi weight height
bmi      0      0      0
weight   0      0      0
height   0      0      0
SAS ユーザーのための R

散布図行列 SASとR

SASのPROC CORRのplots=matrixとGGallyのggpairs

SAS ユーザーのための R

散布図行列を作成するSASとRのコード

SAS ユーザーのための R

散布図行列 - GGally::ggpairs() 関数

 

 

# Matrix plot with GGally::ggpairs()
daviskeep %>%
  select(bmi, weight, height) %>%
  GGally::ggpairs()

GGallyパッケージのggpairs関数による散布図行列

SAS ユーザーのための R

散布図行列 - グループ別ggpairs

 

 

# Color points by sex group
daviskeep %>%
  select(bmi, weight, height, sex) %>%
  GGally::ggpairs(aes(color = sex))

GGallyパッケージのggpairs関数で性別ごとの散布図行列

SAS ユーザーのための R

グループ別の記述統計

グループ件数なし

# Get mean and sd for bmi by sex
daviskeep %>% group_by(sex) %>%
  select(sex, bmi) %>%
  summarise(across(everything(),
                   list(mean = ~ mean(.x),
                        sd = ~ sd(.x))))
# A tibble: 2 × 3
  sex   bmi_mean bmi_sd
  <fct>    <dbl>  <dbl>
1 F         21.0   2.18
2 M         23.9   3.12

グループ件数あり

# Add N = n(), get mean, sd for bmi by sex
daviskeep %>% group_by(sex) %>%
  select(sex, bmi) %>%
  summarise(across(everything(), 
                   list(mean = ~ mean(.x), 
                        sd = ~ sd(.x))),
            N = n())
# A tibble: 2 × 4
  sex   bmi_mean bmi_sd     N
  <fct>    <dbl>  <dbl> <int>
1 F         21.0   2.18   111
2 M         23.9   3.12    88
1 https://dplyr.tidyverse.org/reference/context.html
SAS ユーザーのための R

t検定 SASとR

SASのproc ttestとRのvar.test/t.testの対応

SAS ユーザーのための R

プールド/アンプールドt検定のSASとRコード

SAS ユーザーのための R

プールド/アンプールドt検定のSASとRコード

SAS ユーザーのための R

プールド/アンプールドt検定のSASとRコード

SAS ユーザーのための R

t検定 - 等分散の確認

# Perform equal variance test
var.test(bmi ~ sex, data = daviskeep)
    F test to compare two variances

data:  bmi by sex
F = 0.48637, num df = 110, denom df = 87, p-value = 0.0003668

alternative hypothesis: true ratio of variances is not equal to 1

95 percent confidence interval:
 0.3244691 0.7221946
sample estimates:
ratio of variances
         0.4863699
SAS ユーザーのための R

t検定 - プールドとアンプールド

# UNPOOLED t-test bmi by sex
t.test(bmi ~ sex,
       data = daviskeep)
Welch Two Sample t-test

data:  bmi by sex
t = -7.5158, df = 149.45,
  p-value = 4.819e-12
alternative hypothesis: true difference
  in means is not equal to 0
95 percent confidence interval:
 -3.716353 -2.169035
sample estimates:
mean in group F mean in group M
       20.95632        23.89901
# POOLED t-test bmi by sex
t.test(bmi ~ sex, data = daviskeep,
       var.equal = TRUE)
    Two Sample t-test

data:  bmi by sex
t = -7.8239, df = 197,
  p-value = 3.055e-13
alternative hypothesis: true difference
  in means is not equal to 0
95 percent confidence interval:
 -3.684428 -2.200960
sample estimates:
mean in group F mean in group M
       20.95632        23.89901
SAS ユーザーのための R

アワビの二変量関係を見てみましょう!

SAS ユーザーのための R

Preparing Video For Download...