Learn R: Create Composite Variable

Load Packages

haven

Haven contains functions that lets R import SPSS, SAS, Stata, and other foreign files.

if (!require(haven)){
  install.packages("haven", dependencies = TRUE)
  require(haven)
}
Loading required package: haven

psych

Summarytools provide useful functions for summarizing and visualizing data

if (!require(psych)){
  install.packages("psych", dependencies = TRUE)
  require(psych)
}
Loading required package: psych

summarytools

Summarytools provide useful functions for summarizing and visualizing data

if (!require(summarytools)){
  install.packages("summarytools", dependencies = TRUE)
  require(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

Extraversion

#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