Korrelationer och t-test

R för SAS-användare

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Korrelationer – jämförelse av SAS och R

sas proc corr liknar funktionen psych corr.test i r

R för SAS-användare

sas- och r-kod för korrelationer

R för SAS-användare

Korrelationer med psych-paketet

# 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
R för SAS-användare

Spridningsdiagrammatris i SAS och R

plots matrix-sats för sas proc corr och ggpairs från GGally-paketet

R för SAS-användare

sas- och r-kod för att skapa spridningsdiagrammatris

R för SAS-användare

Spridningsdiagrammatris – funktionen GGally::ggpairs()

 

 

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

spridningsdiagrammatris med funktionen ggpairs från GGally-paketet

R för SAS-användare

Spridningsdiagrammatris – ggpairs per grupp

 

 

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

spridningsdiagrammatris med ggpairs från GGally-paketet uppdelad efter kön

R för SAS-användare

Deskriptiv statistik per grupp

Utan gruppantal

# 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

Med gruppantal

# 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
R för SAS-användare

T-test i SAS och R

sas proc ttest liknar var.test och t.test i r

R för SAS-användare

sas- och r-kod för poolat och opoolat t-test

R för SAS-användare

sas- och r-kod för poolat och opoolat t-test

R för SAS-användare

sas- och r-kod för poolat och opoolat t-test

R för SAS-användare

T-test – kontroll av lika varianser

# 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
R för SAS-användare

T-test – poolat och opoolat

# 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
R för SAS-användare

Nu kör vi en övning!

R för SAS-användare

Preparing Video For Download...