R code Chapter 3

This document contains abridged sections from Discovering Statistics Using R and RStudio by Andy Field so there are some copyright considerations. You can use this material for teaching and non-profit activities but please do not meddle with it or claim it as your own work. See the full license terms at the bottom of the page.

Confidence intervals using Hmisc and ggplot2

fb_tib <- tibble::tibble(
friends = c(57, 40, 103, 234, 93, 53, 116, 98, 108, 121, 22)
)

ggplot2::mean_cl_normal(fb_tib$friends)  ## y ymin ymax ## 1 95 56.85094 133.1491  Something other than a 95% interval: ggplot2::mean_cl_normal(fb_tib$friends, conf.int = 0.90)

##    y     ymin    ymax
## 1 95 63.96796 126.032


Access individual values by using $ to access the variable name (y for the estimate of the mean, ymin for the lower boundary of the CI and ymax for the upper boundary). Executing this gives us the lower boundary of the 95% confidence interval: ggplot2::mean_cl_normal(fb_tib$friends)$ymin  ## [1] 56.85094  Use extracted value to create tables of summary statistics: # Tidyverse sumptuousness: fb_tib %>% dplyr::summarize( Mean = ggplot2::mean_cl_normal(friends)$y,
95% CI Lower = ggplot2::mean_cl_normal(friends)$ymin, 95% CI Upper = ggplot2::mean_cl_normal(friends)$ymax,
) %>%
round(., 2)

## # A tibble: 1 x 3
##    Mean 95% CI Lower 95% CI Upper
##   <dbl>          <dbl>          <dbl>
## 1    95           56.8           133.


You can also combine these with other functions to get summary statistics:

fb_tib %>%
dplyr::summarize(
Mean =  ggplot2::mean_cl_normal(friends)$y, 95% CI Lower = ggplot2::mean_cl_normal(friends)$ymin,
95% CI Upper = ggplot2::mean_cl_normal(friends)$ymax, IQR = IQR(friends), Std. dev. = sd(friends) ) %>% round(., 2)  ## # A tibble: 1 x 5 ## Mean 95% CI Lower 95% CI Upper IQR Std. dev. ## <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 95 56.8 133. 57 56.8  Confidence intervals using gmodels gmodels::ci(fb_tib$friends)

##   Estimate   CI lower   CI upper Std. Error
##   95.00000   56.85094  133.14906   17.12149


Something other than a 95% interval:

gmodels::ci(fb_tib$friends, confidence = 0.90)  ## Estimate CI lower CI upper Std. Error ## 95.00000 63.96796 126.03204 17.12149  Access individual values by appending their label in square brackets to the function. Executing this gives us the lower boundary of the 95% confidence interval: gmodels::ci(fb_tib$friends)["CI lower"]

## CI lower
## 56.85094


Use extracted value to create tables of summary statistics:

# Tidyverse sumptuousness:

fb_tib %>%
dplyr::summarize(
Mean =  gmodels::ci(friends)["Estimate"],
95% CI Lower = gmodels::ci(friends)["CI lower"],
95% CI Upper = gmodels::ci(friends)["CI upper"],
) %>%
round(., 2)

## # A tibble: 1 x 3
##    Mean 95% CI Lower 95% CI Upper
##   <dbl>          <dbl>          <dbl>
## 1    95           56.8           133.


You can also combine these with other functions to get summary statistics:

fb_tib %>%
dplyr::summarize(
Mean =  gmodels::ci(friends)["Estimate"],
95% CI Lower = gmodels::ci(friends)["CI lower"],
95% CI Upper = gmodels::ci(friends)["CI upper"],
IQR = IQR(friends),
Std. dev. = sd(friends)
) %>%
round(., 2)

## # A tibble: 1 x 5
##    Mean 95% CI Lower 95% CI Upper   IQR Std. dev.
##   <dbl>          <dbl>          <dbl> <dbl>       <dbl>
## 1    95           56.8           133.    57        56.8

Previous
Next