Talk:Behavioral Inhibition and Behavioral Activation System (BIS/BAS) Scales

From Wikiversity
Jump to navigation Jump to search

                                                                                                                                          • .
  • Scoring the BIS/BAS Self Report.
  • Items are behaving as if already reversed during data entry.
  • Need to check this!!!!!!!!!!!!.


  • 1 = Strongly agree, 4 = strongly disagree. This is a problem in a battery where usually high scores mean "more".

desc /var biss01 to biss20.

  • This was a mistake not to recode into a new variable.
  • recode biss05 biss20 (4=1) (3=2) (2=3) (1=4).

compute bisvar = sd(biss01 to biss04, biss05 to biss19). freq /var bisvar.

temp. select if bisvar > .68. reliability /var biss01 to biss20

	/scale (bis) = biss01, biss05, biss10, biss13, biss15, biss18, biss20

/sum total.

  • This strongly suggests a response set or crappy data -- the two reverse scored items have near negative item-total corrs.

reliability /var biss01 to biss20 /scale (sbasrewrd) = biss06, biss08, biss11, biss12, biss16 /sum total.

reliability /var biss01 to biss20 /scale (sbasdriv) = biss03, biss04, biss07, biss19 /sum total.

reliability /var biss01 to biss20 /scale (basfunsk) = biss02, biss09, biss14, biss17 /sum total.


  • 4-3-2015 - changed this to pro-rating (like Goodman with SDQ). Some POMP scores were exceeding 100% due to poor trapping of missing data in early code.

compute sbis = mean.6=(biss01, biss05, biss10, biss13, biss15, biss18, biss20)*7.

compute sbasrewrd = mean.4(biss06, biss08, biss11, biss12, biss16)*5.

compute sbasdriv = mean.3(biss03, biss04, biss07, biss19)*4.

compute sbasfunsk = mean.3(biss02, biss09, biss14, biss17)*4.

        • Flip and POMP.

compute sbisfp=1-((sbis-7)/21).

compute sbasrewrdfp = 1-((sbasrewrd-5)/15).

compute sbasdrivfp = 1-((sbasdriv-4)/12).

compute sbasfunskfp = 1-((sbasfunsk-4)/12).

compute sbastotfp= 1-((sbasrewrd+sbasdriv+sbasfunsk-13)/39).

var labels sbis 'Adol Reported BIS' /sbasrewrd 'Adol Reported BAS Reward Responsiveness'

	/sbasdriv 'Adol Reported BAS Drive'

/sbasfunsk 'Adol Reported Fun Seeking'

   /sbisfp 'Adol Reported BIS--flipped and POMPed'

/sbasrewrdfp 'Adol Reported BAS Reward Responsiveness--flipped and POMPed'

	/sbasdrivfp 'Adol Reported BAS Drive--flipped and POMPed'

/sbasfunskfp 'Adol Reported Fun Seeking--flipped and POMPed'

   /sbastotfp 'Adol Reported BAS Tota--flipped and POMPed'.

desc /var sbis sbisfp sbasrewrdfp sbasdrivfp sbasfunskfp sbastotfp.

corr /var sbis sbisfp sbasrewrdfp sbasdrivfp sbasfunskfp /stat desc. factor /var biss01 to biss20 /plot eigen.


                                                                                                                                          • .
  • Scoring the BIS/BAS parent Report.

desc /var bisp01 to bisp20.

  • recode bisp05 bisp20 (4=1) (3=2) (2=3) (1=4).

reliability /var bisp01 to bisp20

	/scale (bis) = bisp01, bisp05, bisp10, bisp13, bisp15, bisp18, bisp20

/sum total. reliability /var bisp01 to bisp20 /scale (pbasrewrd) = bisp06, bisp08, bisp11, bisp12, bisp16 /sum total. reliability /var bisp01 to bisp20 /scale (pbasdriv) = bisp03, bisp04, bisp07, bisp19 /sum total. reliability /var bisp01 to bisp20 /scale (basfunsk) = bisp02, bisp09, bisp14, bisp17 /sum total.

  • 4-3-2015 - changed this to pro-rating (like Goodman with SDQ). Some POMP scores were exceeding 100% due to poor trapping of missing data in early code.

compute pbis = mean.6(bisp01, bisp05, bisp10, bisp13, bisp15, bisp18, bisp20)*7. compute pbasrewrd =mean.4(bisp06, bisp08, bisp11, bisp12, bisp16)*5. compute pbasdriv = mean.3(bisp03, bisp04, bisp07, bisp19)*4. compute pbasfunsk = mean.3(bisp02, bisp09, bisp14, bisp17)*4.

        • Flip and POMP.

compute pbisfp=1-((pbis-7)/21). compute pbasrewrdfp = 1-((pbasrewrd-5)/15). compute pbasdrivfp = 1-((pbasdriv-4)/12). compute pbasfunskfp = 1-((pbasfunsk-4)/12). compute pbastotfp= 1-((pbasrewrd+pbasdriv+pbasfunsk-13)/39).


var labels pbis 'Parent Reported BIS' /pbasrewrd 'Parent Reported BAS Reward Responsiveness'

	/pbasdriv 'Parent Reported BAS Drive'

/pbasfunsk 'Parent Reported Fun Seeking'

   /pbisfp 'Parent Reported BIS--flipped and POMPed'

/pbasrewrdfp 'Parent Reported BAS Reward Responsiveness--flipped and POMPed'

	/pbasdrivfp 'Parent Reported BAS Drive--flipped and POMPed'

/pbasfunskfp 'Parent Reported Fun Seeking--flipped and POMPed'

   /pbastotfp 'Parent Reported BAS Total--flipped and POMPed'.

desc /var pbis pbisfp pbasrewrdfp pbasdrivfp pbasfunskfp pbastotfp.

corr /var pbis pbisfp pbasrewrdfp pbasdrivfp pbasfunskfp /stat desc.



corr /var pbis pbasrewrd pbasdriv pbasfunsk /stat desc. factor /var bisp01 to bisp20 /plot eigen.


corr /var pbis pbasrewrd pbasdriv pbasfunsk with

sbis sbasrewrd sbasdriv sbasfunsk /stat desc.

BIS-BAS Self-Report Scoring and Correlations with Prior Scores (Working Draft)[edit source]

  1. Validation of BIS-BAS scores of the Ultimate Enchilada dataset
  1. rename data

dataset1 <- Ultimate_Enchilada_v3_3_deidentified

  1. using psych package

library(psych) library(tidyverse) library(readr)

  1. Overall scale scores (average resposne) for BIS-BAS subcategories

bis.nrm <- rowMeans(dataset1[, c("biss01", "biss05", "biss10", "biss13", "biss15", "biss18","biss20")], na.rm=TRUE) bas.rew <- rowMeans(dataset1[, c("biss06", "biss08", "biss11", "biss12", "biss16")], na.rm=TRUE) bas.drv <- rowMeans(dataset1[, c("biss03", "biss04", "biss07", "biss19")], na.rm=TRUE) bas.fun <- rowMeans(dataset1[, c("biss02", "biss09", "biss14", "biss17")], na.rm=TRUE)

  1. Parent reported BIS-BAS score variable names
  2. "pbis", "pbasrewrd", "pbasdriv", "pbasfunsk"
  1. Adolescent reported BIS-BAS score variable names
  2. "sbis", "sbasrewrd", "sbasdriv", "sbasfunsk"
  1. Re-scoring Adolescent responses via summation

bis.nrm1 <- rowSums(dataset1[, c("biss01", "biss05", "biss10", "biss13", "biss15", "biss18","biss20")], na.rm=TRUE) bas.rew1 <- rowSums(dataset1[, c("biss06", "biss08", "biss11", "biss12", "biss16")], na.rm=TRUE) bas.drv1 <- rowSums(dataset1[, c("biss03", "biss04", "biss07", "biss19")], na.rm=TRUE) bas.fun1 <- rowSums(dataset1[, c("biss02", "biss09", "biss14", "biss17")], na.rm=TRUE)

  1. Regressing Re-scored values with original scored variables

biscor <- lm(dataset1$sbis ~ bis.nrm1) Call:

 lm(formula = dataset1$sbis ~ bis.nrm1)

Coefficients:

 (Intercept)     bis.nrm1  
  1. 3.163e-14 1.000e+00

bas.funcor <- lm(formula = dataset1$sbasrewrd ~ bas.rew1) Call:

 lm(formula = dataset1$sbasrewrd ~ bas.rew1)

Coefficients:

 (Intercept)     bas.rew1  
  1. 0.02285 1.00124

bas.drvcor <- lm(dataset1$sbasdriv ~ bas.drv1) Call:

 lm(formula = dataset1$sbasdriv ~ bas.drv1)

Coefficients:

 (Intercept)     bas.drv1  
  1. 0.1077 0.9956

bas.funcor <- lm(dataset1$sbasfunsk ~ bas.fun1) Call:

 lm(formula = dataset1$sbasfunsk ~ bas.fun1)

Coefficients:

 (Intercept)     bas.fun1  
  1. 0.1270 0.9899
  1. Re-scoring of Parent responses

bis.pnrm <- rowSums(dataset1[, c("bisp01", "bisp05", "bisp10", "bisp13", "bisp15", "bisp18","bisp20")], na.rm=TRUE) bas.prew <- rowSums(dataset1[, c("bisp06", "bisp08", "bisp11", "bisp12", "bisp16")], na.rm=TRUE) bas.pdrv <- rowSums(dataset1[, c("bisp03", "bisp04", "bisp07", "bisp19")], na.rm=TRUE) bas.pfun <- rowSums(dataset1[, c("bisp02", "bisp09", "bisp14", "bisp17")], na.rm=TRUE)

  1. Regressing Re-scored Parent responses to original scored variables

bis.pnrmcor <- lm(dataset1$pbis ~ bis.pnrm) bas.prewcor <- lm(dataset1$pbasrewrd ~ bas.prew) bas.pdrvcor <- lm(dataset1$pbasdriv ~ bas.pdrv) bas.pfuncor <- lm(dataset1$pbasfunsk ~ bas.pfun)

  1. Results

Call:

 lm(formula = dataset1$pbis ~ bis.pnrm)

Coefficients:

 (Intercept)     bis.pnrm  
  1. 0.05847 0.99839

Call:

 lm(formula = dataset1$pbasrewrd ~ bas.prew)

Coefficients:

 (Intercept)     bas.prew  
  1. -0.01437 1.00343

Call:

 lm(formula = dataset1$pbasdriv ~ bas.pdrv)

Coefficients:

 (Intercept)     bas.pdrv  
  1. 0.07774 0.99647

Call:

 lm(formula = dataset1$sbasfunsk ~ bas.fun1)

Coefficients:

 (Intercept)     bas.fun1  
  1. 0.1270 0.9899

Ryanmix647 (discusscontribs) 22:30, 27 October 2022 (UTC)[reply]

(Update of R Coding, 11/3/2022)
  1. Rescoring the BIS/BAS Self-Reports in R
  2. Conducted by Michael Mix
  3. Note: The following is a replication of the anaylses conducted by Dr. E. Youngstrom in SPSS.
  4. 1 = Strongly Agree to 4 = Strongly disagree
library(haven)
library(tidyverse)
library(psych)
library(rstatix)
  1. Renaming the dataset for convenience
ds <- Ultimate_Enchilada_v3_3_deidentified
  1. Parent reported BIS-BAS score variable names
  2. "pbis", "pbasrewrd", "pbasdriv", "pbasfunsk"
  3. Adolescent reported BIS-BAS score variable names
  4. "sbis", "sbasrewrd", "sbasdriv", "sbasfunsk"
describe(ds$sbis)
  1. Overall scale scores (average response magnitude) for BIS-BAS categories (Adolescents)
bis.nrm <- rowMeans(ds[, c("biss01", "biss05", "biss10", "biss13", "biss15", "biss18","biss20")], na.rm=FALSE)*7
bas.rew <- rowMeans(ds[, c("biss06", "biss08", "biss11", "biss12", "biss16")], na.rm=FALSE)*5
bas.drv <- rowMeans(ds[, c("biss03", "biss04", "biss07", "biss19")], na.rm=FALSE)*4
bas.fun <- rowMeans(ds[, c("biss02", "biss09", "biss14", "biss17")], na.rm=FALSE)*4
  1. Regressing above scores against original scores computed in SPSS (retrieved from ds)
bis.nrmcor <- lm(ds$sbis ~ bis.nrm)
bas.rewcor <- lm(ds$sbasrewrd ~ bas.rew)
bas.drvcor <- lm(ds$sbasdriv ~ bas.drv)
bas.funcor <- lm(ds$sbasfunsk ~ bas.fun)
  1. Regression Results
Call:
lm(formula = ds$sbis ~ bis.nrm)
Coefficients:
(Intercept) bis.nrm
  1. -3.464e-14 1.000e+00
Call:
lm(formula = ds$sbasrewrd ~ bas.rew)
Coefficients:
(Intercept) bas.rew
  1. 3.851e-14 1.000e+00
Call:
lm(formula = ds$sbasdriv ~ bas.drv)
Coefficients:
(Intercept) bas.drv
  1. 1.599e-14 1.000e+00
Call:
lm(formula = ds$sbasfunsk ~ bas.fun)
Coefficients:
(Intercept) bas.fun
  1. -1.198e-14 1.000e+00
  2. Pretty close!!
  3. Flip and POMP
sbisfp1 <- 1 - ((bis.nrm - 7)/21)
sbasrewfp1 <- 1 - ((bas.rew - 5)/15)
sbasdrvfp1 <- 1 - ((bas.drv - 4)/12)
sbasfunfp1 <- 1 - ((bas.fun - 4)/12)
sbastotfp1 <- 1 - ((sbasrewfp1 + sbasdrvfp1 + sbasfunfp1 -13)/39)
  1. Regressing "fp" variables against each other
sbisfpcor <- lm(ds$sbisfp ~ sbisfp1)
sbasrewfpcor <- lm(ds$sbasrewrdfp ~ sbasrewfp1)
sbasdrvfpcor <- lm(ds$sbasdrivfp ~ sbasdrvfp1)
sbasfunfpcor <- lm(ds$sbasfunskfp ~ sbasfunfp1)
sbastotcor <- lm(ds$sbastotfp ~ sbastotfp1)
  1. Regression Results
Call:
lm(formula = ds$sbisfp ~ sbisfp1)
Coefficients:
(Intercept) sbisfp1
  1. -3.331e-16 1.000e+00
Call:
lm(formula = ds$sbasrewrdfp ~ sbasrewfp1)
Coefficients:
(Intercept) sbasrewfp1
  1. 2.905e-15 1.000e+00
Call:
lm(formula = ds$sbasdrivfp ~ sbasdrvfp1)
Coefficients:
(Intercept) sbasdrvfp1
  1. -1.499e-15 1.000e+00
Call:
lm(formula = ds$sbasfunskfp ~ sbasfunfp1)
Coefficients:
(Intercept) sbasfunfp1
  1. -1.165e-15 1.000e+00
Call:
lm(formula = ds$sbastotfp ~ sbastotfp1)
Coefficients:
(Intercept) sbastotfp1
  1. 17.20 -12.89 (???)
  2. Rescoring Parent BIS/BAS Self-Report
bis.pnrm <- rowMeans(ds[, c("bisp01", "bisp05", "bisp10", "bisp13", "bisp15", "bisp18","bisp20")], na.rm=FALSE)*7
bas.prew <- rowMeans(ds[, c("bisp06", "bisp08", "bisp11", "bisp12", "bisp16")], na.rm=FALSE)*5
bas.pdrv <- rowMeans(ds[, c("bisp03", "bisp04", "bisp07", "bisp19")], na.rm=FALSE)*4
bas.pfun <- rowMeans(ds[, c("bisp02", "bisp09", "bisp14", "bisp17")], na.rm=FALSE)*4
  1. Regressing against original scores computed in SPSS (retrieved from ds)
pbiscor <- lm(ds$pbis ~ bis.pnrm)
pbas.rewcor <- lm(ds$pbasrewrd ~ bas.prew)
pbas.drvcor <- lm(ds$pbasdriv ~ bas.pdrv)
pbas.funcor <- lm(ds$pbasfunsk ~ bas.pfun)
  1. Regression Results
Call:
lm(formula = ds$pbis ~ bis.pnrm)
Coefficients:
(Intercept) bis.pnrm
  1. 2.81e-14 1.00e+00
Call:
lm(formula = ds$pbasrewrd ~ bas.prew)
Coefficients:
(Intercept) bas.prew
  1. 3.595e-14 1.000e+00
Call:
lm(formula = ds$pbasdriv ~ bas.pdrv)
Coefficients:
(Intercept) bas.pdrv
  1. 2.112e-14 1.000e+00
Call:
lm(formula = ds$pbasfunsk ~ bas.pfun)
Coefficients:
(Intercept) bas.pfun
  1. 5.006e-15 1.000e+00
  2. Flip and POMP
pbisfp1 <- 1 - ((bis.pnrm - 7)/21)
pbasrewfp1 <- 1 - ((bas.prew - 5)/15)
pbasdrvfp1 <- 1 - ((bas.pdrv - 4)/12)
pbasfunfp1 <- 1 - ((bas.pfun - 4)/12)
pbastotfp1 <- 1 - ((pbasrewfp1 + pbasdrvfp1 + pbasfunfp1 -13)/39)
  1. Regressing "fp" variables against each other
pbisfpcor <- lm(ds$pbisfp ~ pbisfp1)
pbasrewfpcor <- lm(ds$pbasrewrdfp ~ pbasrewfp1)
pbasdrvfpcor <- lm(ds$pbasdrivfp ~ pbasdrvfp1)
pbasfunfpcor <- lm(ds$pbasfunskfp ~ pbasfunfp1)
pbastotcor <- lm(ds$pbastotfp ~ pbastotfp1)
  1. Regression Results
Call:
lm(formula = ds$pbisfp ~ pbisfp1)
Coefficients:
(Intercept) pbisfp1
  1. -1.694e-15 1.000e+00
Call:
lm(formula = ds$pbasrewrdfp ~ pbasrewfp1)
Coefficients:
(Intercept) pbasrewfp1
  1. 4.369e-15 1.000e+00
Call:
lm(formula = ds$pbasdrivfp ~ pbasdrvfp1)
Coefficients:
(Intercept) pbasdrvfp1
  1. 1.383e-15 1.000e+00
Call:
lm(formula = ds$pbasfunskfp ~ pbasfunfp1)
Coefficients:
(Intercept) pbasfunfp1
  1. 1.251e-16 1.000e+00
Call:
lm(formula = ds$pbastotfp ~ pbastotfp1)
Coefficients:
(Intercept) pbastotfp1
  1. 17.07 -12.79 (???)

Ryanmix647 (discusscontribs) 22:13, 3 November 2022 (UTC)[reply]

Qualtrics links[edit source]

List of Qualtrics instances


An N of 2759 respondents exists aggregating a range of different teaching instances, as detailed in the Gantt-style chart here. The three largest instances are the AAA protocol, Supertasting, and Korea Developmental.

Name Link N Comments
BIS/BAS flipped scoring (for piping) https://unc.az1.qualtrics.com/responses/#/surveys/SV_b14lXSlbiQeoLKl 0 Module for use in other batteries?
Korea 2020 - Creativity, Mood, Sleep Distribution link; Survey editing 273 Contains same surveys as 2018, 2019; unclear if there are other changes in recoding or piping
Korea 2019 - Creativity, Mood, Sleep Distribution link; Survey editing 187 See above
Korea 2018 - Creativity, Mood, Sleep Distribution link; Survey editing 238 See above

Eyoungstrom (discusscontribs) 23:35, 26 November 2022 (UTC)[reply]