Learning how to create a data codebook

Load Packages

if (!require(tidyverse)){
  install.packages("tidyverse", dependencies = TRUE)
  require(tidyverse)
  library("tidyverse")
}
Loading required package: tidyverse
── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
✔ ggplot2 3.4.0      ✔ purrr   1.0.1 
✔ tibble  3.1.8      ✔ dplyr   1.0.10
✔ tidyr   1.2.1      ✔ stringr 1.5.0 
✔ readr   2.1.3      ✔ forcats 0.5.2 
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
if (!require(haven)){
  install.packages("haven", dependencies = TRUE)
  require(haven)
  library("haven")
}
Loading required package: haven
if (!require(summarytools)){
  install.packages("summarytools", dependencies = TRUE)
  require(summarytools)
  library("summarytools")
}
Loading required package: summarytools
Warning in fun(libname, pkgname): couldn't connect to display ":0"
system might not have X11 capabilities; in case of errors when using dfSummary(), set st_options(use.x11 = FALSE)

Attaching package: 'summarytools'
The following object is masked from 'package:tibble':

    view

Import Data

dataset.spss <- read_sav ("Harry Potter Data.sav")

Codebook

(dataset.spss %>% 
  select(CoinFlip, FFM_6, Potter2) -> newVariable)
# A tibble: 122 × 3
   CoinFlip  FFM_6                          Potter2   
   <dbl+lbl> <dbl+lbl>                      <dbl+lbl> 
 1 1 [Heads] 4 [Agree a little]             2 [River] 
 2 2 [Tails] 3 [Neither agree nor diasgree] 2 [River] 
 3 1 [Heads] 4 [Agree a little]             1 [Forest]
 4 2 [Tails] 5 [Agree Strongly]             1 [Forest]
 5 1 [Heads] 4 [Agree a little]             2 [River] 
 6 2 [Tails] 2 [Disagree a little]          1 [Forest]
 7 2 [Tails] 2 [Disagree a little]          1 [Forest]
 8 1 [Heads] 5 [Agree Strongly]             2 [River] 
 9 1 [Heads] 2 [Disagree a little]          2 [River] 
10 1 [Heads] 4 [Agree a little]             1 [Forest]
# … with 112 more rows
print(dfSummary(newVariable, graph.magnif = .75), method = 'render')
Warning in png(png_loc <- tempfile(fileext = ".png"), width = 150 *
graph.magnif, : unable to open connection to X11 display ''

Warning in png(png_loc <- tempfile(fileext = ".png"), width = 150 *
graph.magnif, : unable to open connection to X11 display ''

Warning in png(png_loc <- tempfile(fileext = ".png"), width = 150 *
graph.magnif, : unable to open connection to X11 display ''

Data Frame Summary

newVariable

Dimensions: 122 x 3
Duplicates: 97
No Variable Label Stats / Values Freqs (% of Valid) Graph Valid Missing
1 CoinFlip [haven_labelled, vctrs_vctr, double] Flip a coin. Is it heads or tails?
Min : 1
Mean : 1.3
Max : 2
1:83(70.3%)
2:35(29.7%)
118 (96.7%) 4 (3.3%)
2 FFM_6 [haven_labelled, vctrs_vctr, double] I see Myself as Someone Who..... - Is reserved
Mean (sd) : 3.5 (1.1)
min ≤ med ≤ max:
1 ≤ 4 ≤ 5
IQR (CV) : 1 (0.3)
1:4(4.2%)
2:17(17.7%)
3:19(19.8%)
4:38(39.6%)
5:18(18.8%)
96 (78.7%) 26 (21.3%)
3 Potter2 [haven_labelled, vctrs_vctr, double] Forest or River?
Min : 1
Mean : 1.4
Max : 2
1:56(55.4%)
2:45(44.6%)
101 (82.8%) 21 (17.2%)

Generated by summarytools 1.0.1 (R version 4.2.2)
2023-02-15

Bonus Points

  • select(if)
  • select(install.packages)
  • select(require)
  • select(library)
  • select(read_sav)
  • select(select)
  • select(print)
  • select(dfsummary)