Standardizing Individual Studies
Armey et al., 2011
armey_wide<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Armey2011-MetaAnalysisDataShare.csv")
colnames<-colnames(armey_wide)
colnames<-colnames[-c(1:2)]
armey <- reshape(armey_wide, direction="long",
varying=list(c(colnames[1:5]), c(colnames[6:10]),
c(colnames[11:15]), c(colnames[16:20]),
c(colnames[21:25]), c(colnames[26:30]),
c(colnames[31:35]), c(colnames[36:40]),
c(colnames[41:45]), c(colnames[46:50]),
c(colnames[51:55]), c(colnames[56:60]),
c(colnames[61:65]), c(colnames[66:70]),
c(colnames[71:75]), c(colnames[76:80]),
c(colnames[81:85]), c(colnames[86:90]),
c(colnames[91:95]), c(colnames[96:100]),
c(colnames[101:105]), c(colnames[106:110]),
c(colnames[111:115])),
v.names=c("Date","Afraid","Angry", "AngryatSelf", "Ashamed", "Blameworthy","Bored", "Confused", "Discomfort", "Distressed", "Disgusted", "Guilty", "Hostile", "Irritable","Jittery", "Loathing", "Nervous", "Scared", "Scornful", "SIB.Drug", "SIB.Pain", "SIB.Prep", "SIB.Severe"))
colnames<-colnames(armey)
colnames<-colnames[-c(1:4,26)]
armey[colnames] <- sapply(armey[colnames],as.numeric)
sapply(armey, class)
## ID Gender time Date Afraid Angry
## "integer" "integer" "integer" "character" "numeric" "numeric"
## AngryatSelf Ashamed Blameworthy Bored Confused Discomfort
## "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
## Distressed Disgusted Guilty Hostile Irritable Jittery
## "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
## Loathing Nervous Scared Scornful SIB.Drug SIB.Pain
## "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
## SIB.Prep SIB.Severe id
## "numeric" "integer" "numeric"
armey$neg.aff<-rowMeans(armey[,c("Afraid","Angry", "AngryatSelf", "Ashamed", "Blameworthy","Bored", "Confused", "Discomfort", "Distressed", "Disgusted", "Guilty", "Hostile", "Irritable","Jittery", "Loathing", "Nervous", "Scared", "Scornful")], na.rm=TRUE)
armey$NA.standard<-(armey$neg.aff-mean(armey$neg.aff,na.rm=T))/(sd(armey$neg.aff,na.rm=T))
armey$SIB.Severe.2<-armey$SIB.Severe
armey$SIB.Severe.2[is.na(armey$Disgusted)=='FALSE'&is.na(armey$SIB.Severe)=='TRUE']<-0
armey$NSSI[armey$SIB.Severe.2>0]<-1
armey$NSSI[armey$SIB.Severe.2==0]<-0
armey<-armey %>% arrange(ID, time)
armey <- armey %>%
dplyr::rename(
PID=ID,
NSSI_bhx=NSSI
)
armey.PID<-c(unique(armey$PID))
armey$PID <- as.character(factor(armey$PID, levels=armey.PID, labels=c(1:35)))
armey$PID<-as.factor(armey$PID)
armey$NA.standard<-as.numeric(scale(armey$neg.aff))
vars<-c("PID", "time", "Study", "NA.standard", "NSSI_bhx")
armey<-armey %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(time), max(time), 1L))
armey$Study<-1
armey.bhx<-armey[vars]
Bresin et al. 2013
bres<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Bresin et al 2013.csv")
bres <- bres %>%
dplyr::rename(
PID=subject,
time=day,
neg.aff = DNA,
NSSI_thgts=NSSI,
NSSI_bhx=NSSIact,
suicidal_thgts=suicide
)
bres$NA.standard<-as.numeric(scale(bres$neg.aff))
bres.PID<-c(unique(bres$PID))
labels<-c(36:103)
bres$PID <- as.character(factor(bres$PID, levels=bres.PID, labels=labels))
bres$PID<-as.factor(bres$PID)
bres<- bres %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(na.omit(bres$time)), max(na.omit(bres$time)), 1L))
bres$Study<-2
vars.nssi.thgts<-c("PID", "time", "Study", "NA.standard", "NSSI_thgts")
bres.nssi.thgts<-bres[vars.nssi.thgts]
vars.bhx<-c("PID", "time", "Study", "NA.standard", "NSSI_bhx")
bres.bhx<-bres[vars.bhx]
vars.suicidal.thgts<-c("PID", "time", "Study", "NA.standard", "suicidal_thgts")
bres.suicidal.thgts<-bres[vars.suicidal.thgts]
Czyz et al. 2017
czyz<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/czyz.Affect Items.csv")
czyz2<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/czyz_NSSI and SI.csv")
czyz$suicidal.thoughts<-czyz$SIfreq
czyz$suicidal.thoughts[czyz$SIfreq>0]<-1
czyz2<-ddply(czyz2, .(ID), head, n = 27)
czyz$NSSI<-czyz2$NSSI
## Standardize NA by calculating a Z-score
Happy<-c("Happy")
Happy<-czyz[Happy]
Happy_r<-as.data.frame(reverse.code(keys=c(-1), items=c(Happy$Happy)))
czyz$Happy_r<-Happy_r$`-`
czyz$neg.aff<-rowMeans(czyz[,c('Miserable', 'Angry', 'Happy_r')], na.rm=TRUE)
czyz$NA.standard<-as.numeric(scale(czyz$neg.aff))
czyz <- czyz %>%
dplyr::rename(
PID=ID,
time=Day,
NSSI_bhx=NSSI,
suicidal_thgts=suicidal.thoughts
)
czyz$Study<-3
czyz.PID<-c(unique(czyz$PID))
labels<-c(104:137)
czyz$PID <- as.character(factor(czyz$PID, levels=czyz.PID, labels=labels))
czyz$PID<-as.factor(czyz$PID)
czyz.bhx<-czyz[vars.bhx]
czyz.suicidal.thgts<-czyz[vars.suicidal.thgts]
Forkmann et al., 2018
forkmann<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/data-ambas.csv")
forkmann$NA.standard<-as.numeric(scale(forkmann$neg.emo))
forkmann <- forkmann %>%
dplyr::rename(
PID=ID,
time=Trigger_counter,
suicidal_thgts=si
)
forkmann.PID<-c(unique(forkmann$PID))
labels<-c(138:211)
forkmann$PID <- as.character(factor(forkmann$PID, levels=forkmann.PID, labels=labels))
forkmann$PID<-as.factor(forkmann$PID)
forkmann$Study<-4
forkmann.suicidal.thgts<-forkmann[vars.suicidal.thgts]
Hochard et al., 2015
hochard<-read.spss("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Hochard et al (2015) diary study data.sav")
hochard<-as.data.frame(hochard)
vars<-c("Gender", "Age", "ID", "Ocassion", "N_SITB", "NightmareOnly", "N_NA", "BDI_score", "SH_History")
night<-hochard[vars]
night$time<-2
names(night)[names(night) == "N_SITB"] <- "SITB"
names(night)[names(night) == "N_NA"] <- "neg.aff"
vars<-c("Gender", "Age", "ID", "Ocassion", "M_SITB", "NightmareOnly", "M_NA", "BDI_score", "SH_History")
morning<-hochard[vars]
morning$time<-1
names(morning)[names(morning) == "M_SITB"] <- "SITB"
names(morning)[names(morning) == "M_NA"] <- "neg.aff"
hochard<-rbind(night,morning)
revalue(hochard$Ocassion, c("D1"="1", "D2"="2", "D3"="3", "D4"="4", "D5"="5"))
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2
## [75] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [112] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3
## [149] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [186] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4
## [223] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
## [260] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5
## [297] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
## [334] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1 1
## [371] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [408] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2
## [445] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [482] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [519] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [556] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
## [593] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
## [630] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
## [667] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
## [704] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
## Levels: 1 2 3 4 5
hochard$obs<-ave(hochard$ID, hochard$ID, FUN=seq_along)
hochard<-hochard %>% arrange(ID, obs)
hochard$NA.standard<-as.numeric(scale(hochard$neg.aff))
hochard$time<-NULL
hochard <- hochard %>%
dplyr::rename(
PID=ID,
time=obs,
NSSI_thgts=SITB
)
hochard$NSSI_bhx<-hochard$NSSI_thgts
hochard.PID<-c(unique(hochard$PID))
labels<-c(212:283)
hochard$PID <- as.character(factor(hochard$PID, levels=hochard.PID, labels=labels))
hochard$PID<-as.factor(hochard$PID)
hochard$Study<-5
hochard.nssi.thgts<-hochard[vars.nssi.thgts]
hochard.nssi.bhx<-hochard[vars.bhx]
Houben et al 2017
houb<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/ESM_data_NSSI_MarliesHouben.csv")
houb <- houb %>% replace_with_na_all(condition = ~.x == 9999)
houb<-houb[!(houb$pp %in% c(15,16,17,25)), ]
houb$NA.standard<-as.numeric(scale(houb$NA.))
houb <-houb %>% arrange(pp, Beep_number)
houb <- houb %>%
dplyr::rename(
PID=pp,
time=Beep_number,
NSSI_bhx=NSSI
)
houben.PID<-c(unique(houb$PID))
labels<-c(284:313)
houb$PID <- as.character(factor(houb$PID, levels=houben.PID, labels=labels))
houb$PID<-as.factor(houb$PID)
houb<- houb %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(time), max(time), 1L))
houb$Study<-6
houb.nssi.bhx<-houb[vars.bhx]
Husky et al., 2017
husky<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/EMA. NA and SI. France.csv")
husky <- husky %>% replace_with_na_all(condition = ~.x == -9)
## Standardize NA by calculating a Z-score
husky$neg.aff<-rowMeans(husky[,c("anxious", "hopelessness", "Sadmood")], na.rm=TRUE)
husky$NA.standard<-as.numeric(scale(husky$neg.aff))
husky<-husky %>% arrange(ID, beep)
husky <- husky %>%
dplyr::rename(
PID=ID,
ts=time,
time=beep,
suicidal_thgts=recsi
)
husky$Study<-7
husky.PID<-c(unique(husky$PID))
labels<-c(314:355)
husky$PID <- as.character(factor(husky$PID, levels=husky.PID, labels=labels))
husky$PID<-as.factor(husky$PID)
husky.suicidal.thgts<-husky[vars.suicidal.thgts]
Kaurin et al., Under Review
kaurin_a<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/kaurin_a.csv")
kaurin_a$NA.standard<-as.numeric(scale(kaurin_a$na))
kaurin_a <- kaurin_a %>%
dplyr::rename(
PID=pID,
suicidal_thgts=sitb
)
kaurin_a.PID<-c(unique(kaurin_a$PID))
labels<-c(356:548)
kaurin_a$PID <- as.character(factor(kaurin_a$PID, levels=kaurin_a.PID, labels=labels))
kaurin_a$PID<-as.factor(kaurin_a$PID)
kaurin_a<- kaurin_a %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(time), max(time), 1L))
kaurin_a$Study<-8
kaurin_a.suicidal.thgts<-kaurin_a[vars.suicidal.thgts]
Kaurin et al., 2020
kaurin_b<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/kaurin_b.csv")
kaurin_b$NA.standard<-as.numeric(scale(kaurin_b$na))
kaurin_b$sitb[kaurin_b$sitb>0]<-1
kaurin_b <- kaurin_b %>%
dplyr::rename(
PID=id,
time=days,
suicidal_thgts=sitb
)
kaurin_b.PID<-c(unique(kaurin_b$PID))
labels<-c(549:742)
kaurin_b$PID <- as.character(factor(kaurin_b$PID, levels=kaurin_b.PID, labels=labels))
kaurin_b$PID<-as.factor(kaurin_b$PID)
kaurin_b<- kaurin_b %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(time), max(time), 1L))
kaurin_b$Study<-9
kaurin_b.suicidal.thgts<-kaurin_b[vars.suicidal.thgts]
Kiekens et al., 2020
kiekens<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/ESMdata_Kevin Kuehn_08092020.csv")
## Standardize NA by calculating a Z-score
kiekens$NA.standard<-as.numeric(scale(kiekens$negaff))
## Descriptive statistics
kiekens$thought_nssi[kiekens$thought_nssi>0]<-1
kiekens$thought_suicide[kiekens$thought_suicide>0]<-1
kiekens <- kiekens %>%
dplyr::rename(
PID=ID,
time=beep,
NSSI_thgts=thought_nssi,
NSSI_bhx=nssi,
suicidal_thgts=thought_suicide
)
kiekens.PID<-c(unique(kiekens$PID))
labels<-c(743:772)
kiekens$PID <- as.character(factor(kiekens$PID, levels=kiekens.PID, labels=labels))
kiekens$PID<-as.factor(kiekens$PID)
kiekens<- kiekens %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(time), max(time), 1L))
kiekens$Study<-10
kiekens.nssi.thgts<-kiekens[vars.nssi.thgts]
kiekens.bhx<-kiekens[vars.bhx]
kiekens.suicidal.thgts<-kiekens[vars.suicidal.thgts]
Kleiman et al., 2017
kleiman_a<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Online_EMA_2020_0917.csv")
## Standardize NA by calculating a Z-score
kleiman_a$neg.aff<-rowMeans(kleiman_a[,c('Anxious', 'Sad', 'Angry', 'Afraid', 'Agitated', 'Hopeless', 'Lonely', 'Burdensome' )], na.rm=TRUE)
kleiman_a$NA.standard<-as.numeric(scale(kleiman_a$neg.aff))
kleiman_a$SI_RESIST_MNT_r<-kleiman_a$SI_RESIST_MNT
kleiman_a$SI_RESIST_MNT_r[kleiman_a$SI_RESIST_MNT==5]<-1
kleiman_a$SI_RESIST_MNT_r[kleiman_a$SI_RESIST_MNT==4]<-2
kleiman_a$SI_RESIST_MNT_r[kleiman_a$SI_RESIST_MNT==3]<-3
kleiman_a$SI_RESIST_MNT_r[kleiman_a$SI_RESIST_MNT==2]<-4
kleiman_a$SI_RESIST_MNT_r[kleiman_a$SI_RESIST_MNT==1]<-5
kleiman_a$suicidal.sum<-rowSums(kleiman_a[,c('SI_INTENSE_MNT', 'SI_DESIRE_MNT', 'SI_RESIST_MNT_r')])
CVP <- within(kleiman_a, {
suicidal.sum.CWP<-ave(kleiman_a$suicidal.sum, kleiman_a$subject, FUN=function(x) x-mean(x, na.rm=T))
})
kleiman_a$suicidal.sum.CWP<-CVP$suicidal.sum.CWP
CNP <- within(kleiman_a, {
suicidal.sd.CWP<-ave(kleiman_a$suicidal.sum, kleiman_a$subject, FUN=function(x) x-sd(x, na.rm=T))
})
kleiman_a$suicidal.sd.CWP<-CNP$suicidal.sd.CWP
grpmeans23<-aggregate(kleiman_a$suicidal.sum,list(kleiman_a$subject),sd,na.rm=TRUE)
names(grpmeans23)<-c("subject","suicidal.sum.sd")
kleiman_a<-merge(kleiman_a,grpmeans23,by="subject")
kleiman_a$suicidal.thoughts<-NA
kleiman_a$suicidal.thoughts[kleiman_a$suicidal.sum.CWP>kleiman_a$suicidal.sum.sd]<-1
kleiman_a$suicidal.thoughts[kleiman_a$suicidal.sum.CWP<=kleiman_a$suicidal.sum.sd]<-0
kleiman_a <- kleiman_a %>% group_by(subject) %>%
dplyr::mutate(rank = seq_along(ts)) %>%
dplyr::arrange(rank)
kleiman_a <- kleiman_a %>%
dplyr::rename(
PID=subject,
time=rank,
suicidal_thgts=suicidal.thoughts
)
kleiman_a.PID<-c(unique(kleiman_a$PID))
labels<-c(773:826)
kleiman_a$PID <- as.character(factor(kleiman_a$PID, levels=kleiman_a.PID, labels=labels))
kleiman_a$PID<-as.factor(kleiman_a$PID)
kleiman_a <- kleiman_a %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(kleiman_a$time), max(kleiman_a$time), 1L))
kleiman_a$Study<-11
kleiman_a.suicidal.thgts<-kleiman_a[vars.suicidal.thgts]
Kleiman et al., 2018
kleiman_b<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Online_DD_2020_0917.csv")
## Standardize NA by calculating a Z-score
kleiman_b$NA.standard<-as.numeric(scale(kleiman_b$SAD))
kleiman_b$Wish_Live_r<-kleiman_b$Wish_Live
kleiman_b$Wish_Live_r[kleiman_b$Wish_Live==4]<-1
kleiman_b$Wish_Live_r[kleiman_b$Wish_Live==3]<-2
kleiman_b$Wish_Live_r[kleiman_b$Wish_Live==2]<-3
kleiman_b$Wish_Live_r[kleiman_b$Wish_Live==1]<-4
kleiman_b$suicidal.sum<-rowSums(kleiman_b[,c('Wish_Live_r', 'Wish_Die', 'Desire_Die')])
CVP <- within(kleiman_b, {
suicidal.sum.CWP<-ave(kleiman_b$suicidal.sum, kleiman_b$subject, FUN=function(x) x-mean(x, na.rm=T))
})
kleiman_b$suicidal.sum.CWP<-CVP$suicidal.sum.CWP
CNP <- within(kleiman_b, {
suicidal.sd.CWP<-ave(kleiman_b$suicidal.sum, kleiman_b$subject, FUN=function(x) x-sd(x, na.rm=T))
})
kleiman_b$suicidal.sd.CWP<-CNP$suicidal.sd.CWP
grpmeans23<-aggregate(kleiman_b$suicidal.sum,list(kleiman_b$subject),sd,na.rm=TRUE)
names(grpmeans23)<-c("subject","suicidal.sum.sd")
kleiman_b<-merge(kleiman_b,grpmeans23,by="subject")
kleiman_b$suicidal.thoughts<-NA
kleiman_b$suicidal.thoughts[kleiman_b$suicidal.sum.CWP>kleiman_b$suicidal.sum.sd]<-1
kleiman_b$suicidal.thoughts[kleiman_b$suicidal.sum.CWP<=kleiman_b$suicidal.sum.sd]<-0
kleiman_b$ts.2<-anytime(kleiman_b$ts)
kleiman_b <- kleiman_b %>% group_by(subject) %>%
dplyr::mutate(rank = seq_along(ts.2)) %>%
dplyr::arrange(ts.2)
kleiman_b <- kleiman_b %>%
dplyr::rename(
PID=subject,
time=rank,
suicidal_thgts=suicidal.thoughts
)
kleiman_b.PID<-c(unique(kleiman_b$PID))
labels<-c(827:879)
kleiman_b$PID <- as.character(factor(kleiman_b$PID, levels=kleiman_b.PID, labels=labels))
kleiman_b$PID<-as.factor(kleiman_b$PID)
kleiman_b <- kleiman_b %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(kleiman_b$time), max(kleiman_b$time), 1L))
kleiman_b$Study<-12
kleiman_b.suicidal.thgts<-kleiman_b[vars.suicidal.thgts]
Kuehn et al., In Prep
kuehn<-read.csv("/Users/kevinkuehn/ARISE/Cleaning/ARISE EMA.cleaned.csv")
kuehn$NA.standard<-as.numeric(scale(kuehn$neg.emo))
kuehn$NSSI.thoughts<-0
kuehn$NSSI.thoughts[kuehn$urge.harm.30>0&kuehn$SI.intent.30==0]<-1
kuehn$NSSI.thoughts[kuehn$urge.harm.30==0&kuehn$SI.intent.30==0]<-0
kuehn$NSSI.thoughts[is.na(kuehn$STB.yn=="TRUE")]<-NA
kuehn <-kuehn %>% arrange(PID, EMA_Number)
kuehn <- kuehn %>%
dplyr::rename(
timepoint=time,
time=EMA_Number,
NSSI_thgts=NSSI.thoughts,
NSSI_bhx=SIB.30,
suicidal_thgts=SI.intent.binary
)
kuehn$Study<-13
kuehn.PID<-c(unique(kuehn$PID))
labels<-c(880:939)
kuehn$PID <- as.character(factor(kuehn$PID, levels=kuehn.PID, labels=labels))
kuehn$PID<-as.factor(kuehn$PID)
kuehn.nssi.thgts<-kuehn[vars.nssi.thgts]
kuehn.bhx<-kuehn[vars.bhx]
kuehn.suicidal.thgts<-kuehn[vars.suicidal.thgts]
Lear et al., 2019
lear<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Lear et al_2019_data for Keuhn MA.csv")
lear <- lear %>% replace_with_na_all(condition = ~.x == 999)
## Standardize NA by calculating a Z-score
lear$NA.standard<-as.numeric(scale(lear$NA.))
lear<-lear %>% arrange(PID, Observation)
lear <- lear %>%
dplyr::rename(
time=Observation,
NSSI_thgts=SITB_urge,
NSSI_bhx=SITB_beh,
)
lear.PID<-c(unique(lear$PID))
labels<-c(940:986)
lear$PID <- as.character(factor(lear$PID, levels=lear.PID, labels=labels))
lear$PID<-as.factor(lear$PID)
lear <- lear %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(lear$time), max(lear$time), 1L))
lear$Study<-14
lear.nssi.thgts<-lear[vars.nssi.thgts]
lear.bhx<-lear[vars.bhx]
Muehlenkamp et al., 2009
muehl<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/EMA NSSI_Muehlenkamp.csv")
muehl <- muehl %>% replace_with_na_all(condition = ~.x == 999)
muehl$NA.standard<-as.numeric(scale(muehl$PANASNEG))
muehl$NSSI<-0
muehl$NSSI[muehl$cutself==TRUE|muehl$scratchs==TRUE|muehl$burnself==TRUE|muehl$hitself==TRUE|muehl$banghead==TRUE]<-1
muehl$beep<-muehl$Day*muehl$BeepNum
muehl <-muehl %>% arrange(id, BeepNum)
muehl <- muehl %>% group_by(id) %>%
dplyr::mutate(rank = seq_along(beep)) %>%
dplyr::arrange(beep)
muehl <- muehl %>%
dplyr::rename(
PID=id,
time=rank,
NSSI_bhx=NSSI,
)
muehl.PID<-c(unique(muehl$PID))
labels<-c(987:1118)
muehl$PID <- as.character(factor(muehl$PID, levels=muehl.PID, labels=labels))
muehl$PID<-as.factor(muehl$PID)
muehl <- muehl %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(muehl$time), max(muehl$time), 1L))
muehl$Study<-15
muehl.bhx<-muehl[vars.bhx]
Peters et al., 2020
evans<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Evans_EMA data_shared.csv")
evans<-evans[!(evans$ID.1 %in% c(33, NA)), ]
evans<-evans %>% dplyr::group_by(ID.1) %>% dplyr::mutate(obs = row_number())
evans$suicidal.thoughts<-NA
evans$suicidal.thoughts[evans$sui>0]<-1
evans$suicidal.thoughts[evans$sui==0]<-0
## Standardize NA by calculating a Z-score
evans$neg.aff<-rowMeans(evans[,c('dep', 'irri')], na.rm=TRUE)
evans$NA.standard<-as.numeric(scale(evans$neg.aff))
evans<-evans %>% arrange(ID.1, Date)
evans <- evans %>% group_by(ID.1) %>%
dplyr::mutate(rank = seq_along(Date)) %>%
dplyr::arrange(Date)
evans <- evans %>%
dplyr::rename(
PID=ID.1,
time=rank,
suicidal_thgts=suicidal.thoughts,
)
evans.PID<-c(unique(evans$PID))
labels<-c(1119:1157)
evans$PID <- as.character(factor(evans$PID, levels=evans.PID, labels=labels))
evans$PID<-as.factor(evans$PID)
evans <- evans %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(evans$time), max(evans$time), 1L))
evans$Study<-16
evans.suicidal.thgts<-evans[vars.suicidal.thgts]
Salim et al., 2019
salim<-read.spss("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Data for Kevin.sav")
salim$NA.standard<-as.numeric(scale(salim$PHQ))
salim$SBQ_bin<-salim$SBQ
salim$SBQ_bin[salim$SBQ>0]<-1
salim<-as.data.frame(salim)
salim<-salim %>% arrange(ID, Observation)
salim <- salim %>%
dplyr::rename(
PID=ID,
time=Observation,
suicidal_thgts=SBQ_bin,
)
salim$Study<-17
salim.PID<-c(unique(salim$PID))
labels<-c(1158:1251)
salim$PID <- as.character(factor(salim$PID, levels=salim.PID, labels=labels))
salim$PID<-as.factor(salim$PID)
salim.suicidal.thgts<-salim[vars.suicidal.thgts]
Santangelo et al., 2017
san<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Santangelo.csv")
san$NSSI<-NA
san$NSSI[san$svv=="ja"]<-1
san$NSSI[san$svv=="nein"]<-0
san$NA.standard<-as.numeric(scale(san$affekt))
san<-san %>% arrange(id, mzp)
san <- san %>%
dplyr::rename(
PID=id,
time=mzp,
NSSI_bhx=NSSI,
)
san.PID<-c(unique(san$PID))
labels<-c(1252:1324)
san$PID <- as.character(factor(san$PID, levels=san.PID, labels=labels))
san$PID<-as.factor(san$PID)
san <- san %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(san$time), max(san$time), 1L))
san$Study<-18
san.bhx<-san[vars.bhx]
Selby et al., 2013
selby13<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/EMA NSSI 2013 Kevin.csv")
selby13$neg.aff<-rowMeans(selby13[,c('ANGRY', 'WORRIED', 'SAD', 'ASHAMED', 'NUMB')], na.rm=TRUE)
selby13$NA.standard<-as.numeric(scale(selby13$neg.aff))
selby13 <- selby13 %>% group_by(ID) %>%
dplyr::mutate(rank = seq_along(DAY)) %>%
dplyr::arrange(DAY)
selby13<-selby13 %>% arrange(ID, DAY)
selby13 <- selby13 %>%
dplyr::rename(
PID=ID,
time=rank,
NSSI_bhx=NSSI,
)
selby13.PID<-c(unique(selby13$PID))
labels<-c(1325:1371)
selby13$PID <- as.character(factor(selby13$PID, levels=selby13.PID, labels=labels))
selby13$PID<-as.factor(selby13$PID)
selby13 <- selby13 %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(selby13$time), max(selby13$time), 1L))
selby13$Study<-19
selby13.bhx<-selby13[vars.bhx]
Selby et al., 2018
selby18<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/NSSI EMA 2018 Kevin.csv")
## Standardize NA by calculating a Z-score
selby18$neg.aff<-rowMeans(selby18[,c('OverwhelmedNow', 'Sadnow', 'NumbNow', 'AfraidNow', 'GuiltyNow', 'EmptyNow', 'FrustratedNow', 'HurtRejNow', 'AshamedNow')], na.rm=TRUE)
selby18$NA.standard<-as.numeric(scale(selby18$neg.aff))
selby18<-selby18 %>% arrange(UserID, EntryNum)
selby18$beep<-selby18$day*selby18$EntryNum
selby18 <- selby18 %>% group_by(UserID) %>%
dplyr::mutate(rank = seq_along(beep)) %>%
dplyr::arrange(beep)
selby18 <- selby18 %>%
dplyr::rename(
PID=UserID,
time=rank,
NSSI_thgts=NSSIThoughts,
NSSI_bhx=NSSI_bx,
)
selby18.PID<-c(unique(selby18$PID))
labels<-c(1325:1371)
selby18$PID <- as.character(factor(selby18$PID, levels=selby18.PID, labels=labels))
selby18$PID<-as.factor(selby18$PID)
selby18 <- selby18 %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(selby18$time), max(selby18$time), 1L))
selby18$Study<-20
selby18.nssi.thgts<-selby18[vars.nssi.thgts]
selby18.bhx<-selby18[vars.bhx]
Vansteelandt et al. 2017
van<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/2020 data meta analysis Vansteelandt.csv")
van$NA.standard<-as.numeric(scale(van$NA.))
van<-van %>% arrange(pid, obs)
van <- van %>%
dplyr::rename(
PID=pid,
time=obs,
NSSI_bhx=NSSI,
)
van.PID<-c(unique(van$PID))
labels<-c(1372:1403)
van$PID <- as.character(factor(van$PID, levels=van.PID, labels=labels))
van$PID<-as.factor(van$PID)
van <- van %>% tidyr::complete(tidyr::nesting(PID), time = seq(min(van$time), max(van$time), 1L))
van$Study<-21
van.bhx<-van[vars.bhx]
Wolford-Clevenger et al., 2019
wolford<-read.csv("/Users/kevinkuehn/Documents/Writing/Kuehn et al. Psych Bull/Data/Individual study data/Level 1_meta analysis.csv")
wolford$ang<-rowSums(wolford[18:25],na.rm=FALSE)
wolford$neg.aff<-rowMeans(wolford[,c('dep', 'ang')], na.rm=TRUE)
wolford$NA.standard<-as.numeric(scale(wolford$neg.aff))
wolford<-wolford %>% arrange(ID, day)
wolford <- wolford %>%
dplyr::rename(
PID=ID,
time=day,
NSSI_bhx=NSSI1,
suicidal_thgts=sidich
)
wolford$Study<-22
wolford.PID<-c(unique(wolford$PID))
labels<-c(1404:1609)
wolford$PID <- as.character(factor(wolford$PID, levels=wolford.PID, labels=labels))
wolford$PID<-as.factor(wolford$PID)
wolford.bhx<-wolford[vars.bhx]
wolford.suicidal.thgts<-wolford[vars.suicidal.thgts]
Calculation of Effects
NSSI Thoughts
data.nssi.thgts<-rbind(bres.nssi.thgts, hochard.nssi.thgts, kiekens.nssi.thgts, kuehn.nssi.thgts, lear.nssi.thgts, selby18.nssi.thgts)
data.nssi.thgts$NA.standard[data.nssi.thgts$NA.standard=="NaN"]<-NA
CVP <- within(data.nssi.thgts, {
NA.standard.CWP<-ave(data.nssi.thgts$NA.standard, data.nssi.thgts$PID, FUN=function(x) x-mean(x, na.rm=T))
})
data.nssi.thgts$NA.standard.CWP<-CVP$NA.standard.CWP
grpmeans2<-aggregate(data.nssi.thgts$NA.standard,list(data.nssi.thgts$PID),mean,na.rm=TRUE)
names(grpmeans2)<-c("PID","NA.standard.GMC")
data.nssi.thgts<-merge(data.nssi.thgts,grpmeans2,by="PID")
data.nssi.thgts<-data.nssi.thgts %>% arrange(PID, time)
data.nssi.thgts<-slide(data=data.nssi.thgts, Var="NA.standard.CWP",TimeVar="time",GroupVar ="PID",NewVar="NA.standard.CWP.lag",slideBy=-1)
##
## Lagging NA.standard.CWP by 1 time units.
## Warning: `group_by_()` was deprecated in dplyr 0.7.0.
## Please use `group_by()` instead.
## See vignette('programming') for more help
data.nssi.thgts$PID<-as.numeric(data.nssi.thgts$PID)
write.csv(data.nssi.thgts, file="/Users/kevinkuehn/Dropbox/Nature submission/data.nssi.thgts.csv")
data.nssi.thgts<-data.nssi.thgts %>% arrange(PID, time)
data.nssi.thgts<-slide(data=data.nssi.thgts, Var="NSSI_thgts",TimeVar="time",GroupVar ="PID",NewVar="NSSI_thgts.lead",slideBy=1)
##
## Leading NSSI_thgts by 1 time units.
NSSI Behaviors
data.nssi.bhx<-rbind(armey.bhx,bres.bhx, czyz.bhx, hochard.nssi.bhx, houb.nssi.bhx, kiekens.bhx,kuehn.bhx,lear.bhx, muehl.bhx, san.bhx, selby13.bhx,selby18.bhx, van.bhx, wolford.bhx)
data.nssi.bhx$NA.standard[data.nssi.bhx$NA.standard=="NaN"]<-NA
CVP <- within(data.nssi.bhx, {
NA.standard.CWP<-ave(data.nssi.bhx$NA.standard, data.nssi.bhx$PID, FUN=function(x) x-mean(x, na.rm=T))
})
data.nssi.bhx$NA.standard.CWP<-CVP$NA.standard.CWP
grpmeans2<-aggregate(data.nssi.bhx$NA.standard,list(data.nssi.bhx$PID),mean,na.rm=TRUE)
names(grpmeans2)<-c("PID","NA.standard.GMC")
data.nssi.bhx<-merge(data.nssi.bhx,grpmeans2,by="PID")
data.nssi.bhx<-data.nssi.bhx %>% arrange(PID, time)
data.nssi.bhx<-slide(data=data.nssi.bhx, Var="NA.standard.CWP",TimeVar="time",GroupVar ="PID",NewVar="NA.standard.CWP.lag",slideBy=-1)
##
## Lagging NA.standard.CWP by 1 time units.
data.nssi.bhx$PID<-as.numeric(data.nssi.bhx$PID)
write.csv(data.nssi.bhx, file="/Users/kevinkuehn/Dropbox/Nature submission/data.nssi.bhx.csv")
data.nssi.bhx<-data.nssi.bhx %>% arrange(PID, time)
data.nssi.bhx<-slide(data=data.nssi.bhx, Var="NSSI_bhx",TimeVar="time",GroupVar ="PID",NewVar="NSSI_bhx.lead",slideBy=1)
##
## Leading NSSI_bhx by 1 time units.
Suicidal Thoughts
data.sui.thgts<-rbind(bres.suicidal.thgts, czyz.suicidal.thgts, forkmann.suicidal.thgts,husky.suicidal.thgts, kaurin_a.suicidal.thgts, kaurin_b.suicidal.thgts, kiekens.suicidal.thgts, kleiman_a.suicidal.thgts, kleiman_b.suicidal.thgts, kuehn.suicidal.thgts, evans.suicidal.thgts, salim.suicidal.thgts, wolford.suicidal.thgts)
data.sui.thgts$NA.standard[data.sui.thgts$NA.standard=="NaN"]<-NA
CVP <- within(data.sui.thgts, {
NA.standard.CWP<-ave(data.sui.thgts$NA.standard, data.sui.thgts$PID, FUN=function(x) x-mean(x, na.rm=T))
})
data.sui.thgts$NA.standard.CWP<-CVP$NA.standard.CWP
grpmeans2<-aggregate(data.sui.thgts$NA.standard,list(data.sui.thgts$PID),mean,na.rm=TRUE)
names(grpmeans2)<-c("PID","NA.standard.GMC")
data.sui.thgts<-merge(data.sui.thgts,grpmeans2,by="PID")
data.sui.thgts<-data.sui.thgts %>% arrange(PID, time)
data.sui.thgts<-slide(data=data.sui.thgts, Var="NA.standard.CWP",TimeVar="time",GroupVar ="PID",NewVar="NA.standard.CWP.lag",slideBy=-1)
##
## Lagging NA.standard.CWP by 1 time units.
data.sui.thgts$PID<-as.numeric(data.sui.thgts$PID)
write.csv(data.sui.thgts, file="/Users/kevinkuehn/Dropbox/Nature submission/data.sui.thgts.csv")
data.sui.thgts<-data.sui.thgts %>% arrange(PID, time)
data.sui.thgts<-slide(data=data.sui.thgts, Var="suicidal_thgts",TimeVar="time",GroupVar ="PID",NewVar="suicidal_thgts.lead",slideBy=1)
##
## Leading suicidal_thgts by 1 time units.