Rmd

PANAS

Wikipedia

link

The Positive and Negative Affect Schedule (PANAS) is a self-report questionnaire that consists of two 10-item scales to measure both positive and negative affect. Each item is rated on a 5-point scale of 1 (not at all) to 5 (very much). The measure has been used mainly as a research tool in group studies, but can be utilized within clinical and non-clinical populations as well.[1] Shortened, elongated, and children’s versions of the PANAS have been developed, taking approximately 5–10 minutes to complete.[2] Clinical and non-clinical studies have found the PANAS to be a reliable and valid instrument in the assessment of positive and negative affect.[3]

German version and German version of panas questionnaire

PANAS-SF und i-PANAS-SF

link

The PANAS-SF, comprises 10 items that were determined through the highest factor loadings on the exploratory factor analysis reported by Watson et al. (1988) in his original PANAS.

Separate from the PANAS-SF, Edmund Thompson created the international PANAS short form (I-PANAS-SF) in order to make a 10 item mood scale that can be implemented effectively on an international level, provide more clarity on the content of the items, reduce ambiguities, address the limitations of the original and the previous short form of the PANAS, and also to provide a shorter, yet dependable and valid scale.

The i-PANAS-SF is not translated but an English version, optimized also for the understanding of non native English speakers.

Paper by Thompson (2007)

Question: Thinking about yourself and how you normally feel, to what extent do you generally feel (normally/generally or for a specified period): Items in order: Upset Hostile Alert Ashamed Inspired Nervous Determined Attentive Afraid Active Interval measure: never 1 2 3 4 5 always

Respondents are asked to rate these positive and negative adjectives according to the extent to which each describes the way they have felt during a specified time.

sample data

source

paper

We refer to Sample 4: Sport students

Measured the last training day before a competition.

A convenience sample of 533 sports athletes from Cór-doba, Argentina (173 female, 32.5%) completed the PANAS 1 to 72 hours prior to competing (M = 3 4.9, SD = 20.51). The sample was made up of soccer players (n = 197), hockey players (n = 184), basketball players (n = 46), handball play-ers (n = 52), indoor soccer players (n = 22) and martial arts practitioners (n = 32), from 14 to 50 years old (M = 21.22, SD = 5.71). On average they trained 4.20 days per week (SD = 1.21), between 3 and 10 hours per day. Athletes overall av-eraged 10 or more years practicing their respective sports and they had all competed at province to international lev-els at least three times a year. [manches ist Unsinn]

Type of sport categories are “soccer”, “hockey”, “martial_arts”, “handball”, “indoor_soccer”

Procedure

After initial contacts, data collection was done on the last training day before competition. All other procedures were like Study 2. The questionnaires were collectively ad-ministered in the locker room, but each participant com-pleted the questionnaire individually.

panas items german english

no german english quality
1 aktiv active PA
2 bekümmert distressed NA
3 interessiert interested PA
4 freudig erregt excited PA
5 verärgert upset NA
6 stark strong PA
7 schuldig guilty NA
8 erschrocken scared NA
9 feindselig hostile NA
10 angeregt inspired PA
11 stolz proud PA
12 gereizt irritable NA
13 begeistert enthusiastic PA
14 beschämt ashamed NA
15 wach alert PA
16 nervös nervous NA
17 entschlossen determined PA
18 aufmerksam attentive PA
19 durcheinander jittery NA
20 ängstlich afraid NA

i-panas-sf items

no german spanish english quality
1 aktiv 20- Activo active p
5 verärgert 4- Disgustado upset n
9 feindelig 8- Hostil hostile n
10 angeregt 15- Inspirado inspired p
14 beschämt 14- Avergonzado ashamed n
15 wach 13- Alerta alert p
16 nervös 16- Nervioso nervous n
17 entschlossen 17- Decidido determined p
18 aufmerksam 18- Atento attentive p
20 ängstlich 11- Temeroso afraid n

sociodemografic data

variable english spanish comment
id ID Número de caso
gender Sexo 1 = femenino, 2 = masculino
age Edad Edad
days_till_match DíasPartido ¿Cuántos días faltan para la competencia?
hours_till_match HorasPartido Tiempo hasta la competencia
n_type_of_sport Deporte ¿Qué deporte practicas?
weekly_training_days DíasEntrenamiento Cantidad de días de entrenamiento semanal
daily_training_hours HorasEntrenamiento Cantidad de horas de entrenamiento diarias
training_years AñosPráctica Hace cuántos años practicas tu deporte
matches_per_year CantidadCompetencias Cuántas competencias (torneos, campeonatos) tienes por año
level_in_matches NivelCompetición Cuál es tu máximo nivel de competición actual
# read data
# dd <- read_tsv("arg_panas_sf_20.txt")
dd <- readr::read_tsv("http://md.psych.bio.uni-goettingen.de/data/div/arg_panas_sf_533.txt")
## Parsed with column specification:
## cols(
##   .default = col_double()
## )
## See spec(...) for full column specifications.
# we check for ranges
apply(dd, 2, range)
##       id n_gender age days_till_match hours_till_match n_type_of_sport
## [1,]   1        1  14               0                1               1
## [2,] 537        2  50               3               72               6
##      weekly_training_days daily_training_hours training_years
## [1,]                    2                    1              1
## [2,]                    9                    4              9
##      matches_per_year level_in_matches active upset hostile inspired
## [1,]                1                1      1     1       1        1
## [2,]                9                9      9     9       9        9
##      ashamed alert nervous determine attentive afraid
## [1,]       1     1       1         1         1      1
## [2,]       9     9       9         9         9      9
# there are strange values
# we take a closer look
# apply(dd[,7:ncol(dd)], 2, psych::describe)
apply(dd[,7:ncol(dd)], 2, table)
## $weekly_training_days
## 
##   2   3   4   5   6   7   9 
##  34 139 149 109  98   3   1 
## 
## $daily_training_hours
## 
##   1   2   3   4 
## 433  92   4   4 
## 
## $training_years
## 
##   1   2   3   4   9 
##  37  68 115 309   4 
## 
## $matches_per_year
## 
##   1   2   3   4   9 
## 411  81   9  28   4 
## 
## $level_in_matches
## 
##   1   2   3   4   9 
## 210 130 172  20   1 
## 
## $active
## 
##   1   2   3   4   5   9 
##   7  11  62 169 281   3 
## 
## $upset
## 
##   1   2   3   4   5   9 
## 343 103  51  17  10   9 
## 
## $hostile
## 
##   1   2   3   4   5   9 
## 278  97  84  35  12  27 
## 
## $inspired
## 
##   1   2   3   4   5   9 
##  21  39 127 177 164   5 
## 
## $ashamed
## 
##   1   2   3   4   5   9 
## 410  77  21  10   5  10 
## 
## $alert
## 
##   1   2   3   4   5   9 
##  86  93 145 141  61   7 
## 
## $nervous
## 
##   1   2   3   4   5   9 
## 157 148 114  63  42   9 
## 
## $determine
## 
##   1   2   3   4   5   9 
##  12  27  91 210 185   8 
## 
## $attentive
## 
##   1   2   3   4   5   9 
##  14  15  96 224 177   7 
## 
## $afraid
## 
##   1   2   3   4   5   9 
## 303 158  51  12   6   3
# we have probably an old style SPSS data file and 9 specifies missings
# we set all 9 in suspected columns to NA
dd[,7:ncol(dd)][dd[,7:ncol(dd)] == 9] <- NA


# we convert numeric coded grouping variables to type factor and give appropriate labels to factor levels 
dd["gender"] <- factor(dd$n_gender,
  levels = c(1,2),
  labels = c("female", "male"))

dd["type_of_sport"] <- factor(dd$n_type_of_sport,
  levels = c(1,2,3,4,5),
  labels = c("soccer", "hockey", "martial_arts", "handball", "indoor_soccer"))

# we calculate the positive and negative affect
p_aff_sum <- apply(dd[,c("active", "inspired", "alert", "determine", "attentive")],1,sum)
n_aff_sum <- apply(dd[,c("upset", "hostile", "ashamed", "nervous", "afraid")],1,sum)

# ... but better as mean, as it stays comparable
# and we include it in the data table
# take care: if the applied function needs parameters, the are added as additional parameters of the apply() command
dd$p_aff <- apply(dd[,c("active", "inspired", "alert", "determine", "attentive")], 1, mean, na.rm = T)
dd$n_aff <- apply(dd[,c("upset", "hostile", "ashamed", "nervous", "afraid")], 1, mean, na.rm = T)

Instead of factor() which applies to nominal data, we have ordered() for ordered data, f. e. low, medium, high.

Parallel version

There is a parallel version where these transformations are done with dplyr commands.

panas_dplyr.html