Create composite

Loading Packages

haven

# Check if haven is already installed and if it is, load it.
if (!require(haven)){
  # If it's not intalled, then tell R to install it.
  install.packages("haven", dependencies = TRUE)
  # Once it's installed, tell R to load it.
  library(haven)
}
Loading required package: haven

Psych

# Check if psych is already installed and if it is, load it.
if (!require(psych)){
  # If it's not intalled, then tell R to install it.
  install.packages("psych", dependencies = TRUE)
  # Once it's installed, tell R to load it.
  library(psych)
}
Loading required package: psych

Summary tools

# Check if summarytools is already installed and if it is, load it.
if (!require(summarytools)){
  # If it's not intalled, then tell R to install it.
  install.packages("summarytools", dependencies = TRUE)
  # Once it's installed, tell R to load it.
  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)

Import Data

dataset <- read_sav("https://osf.io/kd4ej/download")

Scoring variable

#create dataframe with only relevant variables to work with
Extraversion <- data.frame (dataset$FFM_1, dataset$FFM_6, dataset$FFM_11, dataset$FFM_16, dataset$FFM_21, dataset$FFM_26, dataset$FFM_31, dataset$FFM_36)
#create list of 'keys'. The  numbers just refer to the order of the question in the data.frame() you just made. The most important thing is to mark the questions that should be reversed scored with a '-'. 
Extraversion.keys <- make.keys(Extraversion, list(Extraversion=c(1,-2,3,4,-5,6,-7,8)))
#score the scale
Extraversion.scales <- scoreItems (Extraversion.keys, Extraversion)

#save the scores
Extraversion.scores <- Extraversion.scales$scores

#save the scores back in 'dataset'
dataset$Extraversion <- Extraversion.scores[,]

#print the cronbach alpha
Extraversion.scales$alpha
      Extraversion
alpha    0.8141661