Talk:Behavioral Inhibition and Behavioral Activation System (BIS/BAS) Scales
- .
- 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]
- Validation of BIS-BAS scores of the Ultimate Enchilada dataset
- rename data
dataset1 <- Ultimate_Enchilada_v3_3_deidentified
- using psych package
library(psych)
library(tidyverse)
library(readr)
- 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)
- Parent reported BIS-BAS score variable names
- "pbis", "pbasrewrd", "pbasdriv", "pbasfunsk"
- Adolescent reported BIS-BAS score variable names
- "sbis", "sbasrewrd", "sbasdriv", "sbasfunsk"
- 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)
- 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
- 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
- 0.02285 1.00124
bas.drvcor <- lm(dataset1$sbasdriv ~ bas.drv1)
Call:
lm(formula = dataset1$sbasdriv ~ bas.drv1)
Coefficients:
(Intercept) bas.drv1
- 0.1077 0.9956
bas.funcor <- lm(dataset1$sbasfunsk ~ bas.fun1)
Call:
lm(formula = dataset1$sbasfunsk ~ bas.fun1)
Coefficients:
(Intercept) bas.fun1
- 0.1270 0.9899
- 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)
- 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)
- Results
Call:
lm(formula = dataset1$pbis ~ bis.pnrm)
Coefficients:
(Intercept) bis.pnrm
- 0.05847 0.99839
Call:
lm(formula = dataset1$pbasrewrd ~ bas.prew)
Coefficients:
(Intercept) bas.prew
- -0.01437 1.00343
Call:
lm(formula = dataset1$pbasdriv ~ bas.pdrv)
Coefficients:
(Intercept) bas.pdrv
- 0.07774 0.99647
Call:
lm(formula = dataset1$sbasfunsk ~ bas.fun1)
Coefficients:
(Intercept) bas.fun1
- 0.1270 0.9899
Ryanmix647 (discuss • contribs) 22:30, 27 October 2022 (UTC)
- (Update of R Coding, 11/3/2022)
- Rescoring the BIS/BAS Self-Reports in R
- Conducted by Michael Mix
- Note: The following is a replication of the anaylses conducted by Dr. E. Youngstrom in SPSS.
- 1 = Strongly Agree to 4 = Strongly disagree
- library(haven)
- library(tidyverse)
- library(psych)
- library(rstatix)
- Renaming the dataset for convenience
- ds <- Ultimate_Enchilada_v3_3_deidentified
- Parent reported BIS-BAS score variable names
- "pbis", "pbasrewrd", "pbasdriv", "pbasfunsk"
- Adolescent reported BIS-BAS score variable names
- "sbis", "sbasrewrd", "sbasdriv", "sbasfunsk"
- describe(ds$sbis)
- 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
- 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)
- Regression Results
- Call:
- lm(formula = ds$sbis ~ bis.nrm)
- Coefficients:
- (Intercept) bis.nrm
- -3.464e-14 1.000e+00
- Call:
- lm(formula = ds$sbasrewrd ~ bas.rew)
- Coefficients:
- (Intercept) bas.rew
- 3.851e-14 1.000e+00
- Call:
- lm(formula = ds$sbasdriv ~ bas.drv)
- Coefficients:
- (Intercept) bas.drv
- 1.599e-14 1.000e+00
- Call:
- lm(formula = ds$sbasfunsk ~ bas.fun)
- Coefficients:
- (Intercept) bas.fun
- -1.198e-14 1.000e+00
- Pretty close!!
- 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)
- 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)
- Regression Results
- Call:
- lm(formula = ds$sbisfp ~ sbisfp1)
- Coefficients:
- (Intercept) sbisfp1
- -3.331e-16 1.000e+00
- Call:
- lm(formula = ds$sbasrewrdfp ~ sbasrewfp1)
- Coefficients:
- (Intercept) sbasrewfp1
- 2.905e-15 1.000e+00
- Call:
- lm(formula = ds$sbasdrivfp ~ sbasdrvfp1)
- Coefficients:
- (Intercept) sbasdrvfp1
- -1.499e-15 1.000e+00
- Call:
- lm(formula = ds$sbasfunskfp ~ sbasfunfp1)
- Coefficients:
- (Intercept) sbasfunfp1
- -1.165e-15 1.000e+00
- Call:
- lm(formula = ds$sbastotfp ~ sbastotfp1)
- Coefficients:
- (Intercept) sbastotfp1
- 17.20 -12.89 (???)
- 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
- 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)
- Regression Results
- Call:
- lm(formula = ds$pbis ~ bis.pnrm)
- Coefficients:
- (Intercept) bis.pnrm
- 2.81e-14 1.00e+00
- Call:
- lm(formula = ds$pbasrewrd ~ bas.prew)
- Coefficients:
- (Intercept) bas.prew
- 3.595e-14 1.000e+00
- Call:
- lm(formula = ds$pbasdriv ~ bas.pdrv)
- Coefficients:
- (Intercept) bas.pdrv
- 2.112e-14 1.000e+00
- Call:
- lm(formula = ds$pbasfunsk ~ bas.pfun)
- Coefficients:
- (Intercept) bas.pfun
- 5.006e-15 1.000e+00
- 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)
- 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)
- Regression Results
- Call:
- lm(formula = ds$pbisfp ~ pbisfp1)
- Coefficients:
- (Intercept) pbisfp1
- -1.694e-15 1.000e+00
- Call:
- lm(formula = ds$pbasrewrdfp ~ pbasrewfp1)
- Coefficients:
- (Intercept) pbasrewfp1
- 4.369e-15 1.000e+00
- Call:
- lm(formula = ds$pbasdrivfp ~ pbasdrvfp1)
- Coefficients:
- (Intercept) pbasdrvfp1
- 1.383e-15 1.000e+00
- Call:
- lm(formula = ds$pbasfunskfp ~ pbasfunfp1)
- Coefficients:
- (Intercept) pbasfunfp1
- 1.251e-16 1.000e+00
- Call:
- lm(formula = ds$pbastotfp ~ pbastotfp1)
- Coefficients:
- (Intercept) pbastotfp1
- 17.07 -12.79 (???)
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 (discuss • contribs) 23:35, 26 November 2022 (UTC)