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.