#install packages install.packages(c("psych","car","flextable","officer","data.table","dplyr","numform","lavaan","ggplot2","ggpubr","effectsize")) #load packages library(psych) library(car) library(flextable) library(officer) library(data.table) library(dplyr) library(numform) library(lavaan) library(ggplot2) library(ggpubr) library(effectsize) #save directory to the folder to which files created in R should be saved (e.g., "C:/NarcSub/") files_wd <- "C:/NarcSub/" #read data dat3 <- as.data.frame(fread("https://madata.bib.uni-mannheim.de/427/9/NarcSub_Study3_Data.csv", header = T, sep = ",")) #sample demographics ##sex dat3_1 <- table(dat3$sex) length(which(is.na(dat3$sex))) #one missing value ##print sample demographics paste0(dat3_1[2], " women, ", dat3_1[1], " men, ", length(which(is.na(dat3$sex)))," undisclosed; age: ", min(dat3$age), "-", max(dat3$age)," years, M = " , (round(mean(dat3$age),2)), ", SD = ", (round(sd(dat3$age),2))) rm(dat3_1) #recode variables dat3$description_aut_self_r <- car::recode(dat3$description_aut_self, "1=7; 2=6; 3=5; 4=4; 5=3; 6=2; 7=1") dat3$lbdq2r_self <- car::recode(dat3$lbdq2_self, "1=5; 2=4; 3=3; 4=2; 5=1") dat3$lbdq4r_self <- car::recode(dat3$lbdq4_self, "1=5; 2=4; 3=3; 4=2; 5=1") dat3$lbdq6r_self <- car::recode(dat3$lbdq6_self, "1=5; 2=4; 3=3; 4=2; 5=1") dat3$lbdq8r_self <- car::recode(dat3$lbdq8_self, "1=5; 2=4; 3=3; 4=2; 5=1") dat3$lbdq10r_self <- car::recode(dat3$lbdq10_self, "1=5; 2=4; 3=3; 4=2; 5=1") dat3$lbdq12r_self <- car::recode(dat3$lbdq12_self, "1=5; 2=4; 3=3; 4=2; 5=1") dat3$lbdq14r_self <- car::recode(dat3$lbdq14_self, "1=5; 2=4; 3=3; 4=2; 5=1") dat3$lbdq16r_self <- car::recode(dat3$lbdq16_self, "1=5; 2=4; 3=3; 4=2; 5=1") dat3$lbdq18r_self <- car::recode(dat3$lbdq18_self, "1=5; 2=4; 3=3; 4=2; 5=1") dat3$lbdq20r_self <- car::recode(dat3$lbdq20_self, "1=5; 2=4; 3=3; 4=2; 5=1") #compute variables ##predictors dat3$narq_adm <- rowMeans(dat3[c("narq1", "narq2", "narq3", "narq5", "narq7", "narq8", "narq15", "narq16", "narq18")], na.rm=TRUE) dat3$Znarq_adm <- scale(dat3$narq_adm) dat3$narq_riv <- rowMeans(dat3[c("narq4", "narq6", "narq9", "narq10", "narq11", "narq12", "narq13", "narq14", "narq17")], na.rm=TRUE) dat3$Znarq_riv <- scale(dat3$narq_riv) ##moderator dat3$Zstyle_supervisor <- scale(dat3$style_supervisor) ##mediator dat3$descriptions_self <- rowMeans(dat3[c("description_dem_self","description_aut_self_r")], na.rm=TRUE) dat3$Zdescriptions_self <- scale(dat3$descriptions_self) dat3$lbdq_self <- rowMeans(dat3[c("lbdq1_self","lbdq3_self","lbdq5_self","lbdq7_self","lbdq9_self","lbdq11_self","lbdq13_self", "lbdq15_self","lbdq17_self","lbdq19_self","lbdq2r_self","lbdq4r_self","lbdq6r_self","lbdq8r_self", "lbdq10r_self","lbdq12r_self","lbdq14r_self","lbdq16r_self","lbdq18r_self","lbdq20r_self")], na.rm=TRUE) dat3$Zlbdq_self <- scale(dat3$lbdq_self) dat3$style_index_self <- rowMeans(dat3[c("Zdescriptions_self","Zlbdq_self")], na.rm = TRUE) dat3$Zstyle_index_self <- scale(dat3$style_index_self) ##interaction effects dat3$ZADMxSLS <- scale(dat3$Znarq_adm*dat3$Zstyle_supervisor) dat3$ZRIVxSLS <- scale(dat3$Znarq_riv*dat3$Zstyle_supervisor) dat3$ZSHLSxSLS <- scale(dat3$Zstyle_index_self*dat3$Zstyle_supervisor) ##dependent variable dat3$zvalence <- scale(rowMeans(dat3[c("valence1","valence2","valence3")], na.rm=TRUE)) dat3$zsuccess <- scale(rowMeans(dat3[c("success1","success2","success3")], na.rm=TRUE)) dat3$boss_desirability3r <- 8 - dat3$boss_desirability3 dat3$zboss_desirability <- scale(rowMeans(dat3[c("boss_desirability1","boss_desirability2","boss_desirability3r")], na.rm=TRUE)) dat3$zliking <- scale(rowMeans(dat3[c("liking1","liking2","liking3")], na.rm=TRUE)) dat3$zcompetence <- scale(rowMeans(dat3[c("competence1","competence2","competence3")], na.rm=TRUE)) dat3$zwarmth <- scale(rowMeans(dat3[c("warmth1","warmth2","warmth3")], na.rm=TRUE)) dat3$zworking_conditions <- scale(rowMeans(dat3[c("working_conditions1","working_conditions2","working_conditions3")], na.rm=TRUE)) dat3$attraction <- rowMeans(dat3[c("zvalence","zsuccess","zboss_desirability","zliking","zcompetence","zwarmth","zworking_conditions")], na.rm=TRUE) dat3$Zattraction <- scale(dat3$attraction) #internal consistencies of variables dat3.narq_adm <- subset(dat3, select = c(narq1,narq2,narq3,narq5,narq7,narq8,narq15,narq16,narq18)) dat3.narq_riv <- subset(dat3, select = c(narq4,narq6,narq9,narq10,narq11,narq12,narq13,narq14,narq17)) dat3.style_index_self <- subset(dat3, select = c(Zdescriptions_self,Zlbdq_self)) dat3.attraction <- subset(dat3, select = c(zvalence,zsuccess,zboss_desirability,zliking,zcompetence,zwarmth,zworking_conditions)) round(psych::alpha(dat3.narq_adm, na.rm=T)$total[1], 2) round(psych::alpha(dat3.narq_riv, na.rm=T)$total[1], 2) round(psych::alpha(dat3.style_index_self, na.rm=T)$total[1], 2) round(psych::alpha(dat3.attraction, na.rm=T)$total[1], 2) #warnings result from a perfect positive correlation between zvalence and zcompetence as well as between zsuccess and zwarmth; we kept all variables to maintain consistency across studies rm(dat3.narq_adm,dat3.narq_riv,dat3.style_index_self) #principal component analysis scree(dat3.attraction) #warnings result from a perfect positive correlation between zvalence and zcompetence as well as between zsuccess and zwarmth; we kept all variables to maintain consistency across studies dat3.model <- principal(dat3.attraction, nfactors = 1) prop.table(dat3.model$values)[1]*100 #factor explains 83.38% of the total variance dat3.model #all measures manifest loadings of at least .85 rm(dat3.attraction,dat3.model) #Table 6: Descriptive Statistics and Zero-Order Correlations in Study 3 dat_table6 <- data.frame(matrix(nrow=5, ncol=5)) dat_table6[,1] <- c("ADM","RIV","SHLS","SLS","Attraction") dat3_dem <- subset(dat3, subset = style_supervisor == 0.5) dat_table6[,2] <- c(mean(dat3_dem$narq_adm, na.rm=T),mean(dat3_dem$narq_riv, na.rm=T),mean(dat3_dem$style_index_self, na.rm=T), mean(dat3_dem$style_supervisor, na.rm=T),mean(dat3_dem$attraction, na.rm=T)) dat_table6[,3] <- c(sd(dat3_dem$narq_adm, na.rm=T),sd(dat3_dem$narq_riv, na.rm=T),sd(dat3_dem$style_index_self, na.rm=T), sd(dat3_dem$style_supervisor, na.rm=T),sd(dat3_dem$attraction, na.rm=T)) dat3_aut <- subset(dat3, subset = style_supervisor == -0.5) dat_table6[,4] <- c(mean(dat3_aut$narq_adm, na.rm=T),mean(dat3_aut$narq_riv, na.rm=T),mean(dat3_aut$style_index_self, na.rm=T), mean(dat3_aut$style_supervisor, na.rm=T),mean(dat3_aut$attraction, na.rm=T)) dat_table6[,5] <- c(sd(dat3_aut$narq_adm, na.rm=T),sd(dat3_aut$narq_riv, na.rm=T),sd(dat3_aut$style_index_self, na.rm=T), sd(dat3_aut$style_supervisor, na.rm=T),sd(dat3_aut$attraction, na.rm=T)) dat3_1 <- subset(dat3, select = c(narq_adm,narq_riv,style_index_self,style_supervisor,attraction)) cor_dat3_1 <- corr.test(dat3_1) dat_cor <- as.data.frame(matrix(unlist(cor_dat3_1), nrow=250, ncol = 1, byrow=F), stringsAsFactors=FALSE) dat_cor_r <- as.data.frame(matrix(dat_cor[1:20,], nrow=5)) dat_cor_p <- as.data.frame(matrix(dat_cor[52:71,], nrow=5)) dat_table6[,2:5] <- sapply(dat_table6[,2:5], as.numeric) format_msd <- function(x){ formatC(x, format = "f", digits = 2) } dat_table6[,2:5] <- dat_table6[,2:5] %>% mutate_if(is.numeric, format_msd) dat_table6[3,4] <- "0.00" dat_cor_r[,1:4] <- sapply(dat_cor_r[,1:4], as.numeric) format_r <- function(x){ ifelse(abs(x) < 0.005, f_num(unlist(x), digits=3), f_num(unlist(x), digits=2)) } dat_cor_r[,1:4] <- dat_cor_r[,1:4] %>% mutate_if(is.numeric, format_r) dat_cor_p[,1:4] <- sapply(dat_cor_p[,1:4], as.numeric) format_p <- function(x){ ifelse(abs(x) < 0.05 & abs(x) >= 0.01, "*", ifelse(abs(x) < 0.01 & abs(x) >= 0.001, "**", ifelse(abs(x) < 0.001, "***", ""))) } dat_cor_p[,1:4] <- dat_cor_p[,1:4] %>% mutate_if(is.numeric, format_p) dat_table6$r1 <- paste0(dat_cor_r[,1],dat_cor_p[,1]) dat_table6$r2 <- paste0(dat_cor_r[,2],dat_cor_p[,2]) dat_table6$r3 <- paste0(dat_cor_r[,3],dat_cor_p[,3]) dat_table6$r4 <- paste0(dat_cor_r[,4],dat_cor_p[,4]) dat_table6[1,6:9] <- NA dat_table6[2,7:9] <- NA dat_table6[3,8:9] <- NA dat_table6[4,9] <- NA dat_table6$blank1 <- NA dat_table6$blank2 <- NA dat_table6 <- dat_table6[,c(1:3,10,4:5,11,6:9)] col_keys <- c("X1","X2","X3","blank1","X4","X5","blank2","r1","r2","r3","r4") head1 <- c("","Democratic condition\n(n = 299)","Democratic condition\n/(n = 299)","","Autocratic condition\n(n = 302)","Autocratic condition\n(n = 302)","","","","","") head2 <- c("Variable","M","SD","","M","SD","","1","2","3","4") head <- data.frame(col_keys,head1,head2, stringsAsFactors = FALSE) rm(col_keys,head1,head2) tbl <- flextable(dat_table6) tbl <- set_header_df(tbl, mapping=head, key="col_keys") tbl <- hline_top(tbl, j=1:11, border=fp_border(width=2), part="header") tbl <- merge_at(tbl, i=1, j=2:3, part="header") tbl <- merge_at(tbl, i=1, j=5:6, part="header") tbl <- hline(tbl, i=1, j=c(2:3,5:6), border=fp_border(width=1.2), part="header") tbl <- hline(tbl, i=2, j=1:11, border=fp_border(width=1.2), part="header") tbl <- flextable::font(tbl, fontname="Times", part="all") tbl <- fontsize(tbl, size=12, part="all") tbl <- align(tbl, align="center", part="all") tbl <- align(tbl, j = c("X1"), align="left", part="body") tbl <- italic(tbl, i=2, j=c("X2","X3","X4","X5"), part="header") tbl <- width(tbl, j =~ X1, width=1) tbl <- width(tbl, j =~ X2 + X3 + X4 + X5, width=.55) tbl <- width(tbl, j =~ blank1 + blank2, width=.1) tbl setwd(files_wd) doc <- read_docx() doc <- body_add_flextable(doc, value = tbl) print(doc, target = "Table_6.docx") rm(cor_dat3_1,dat_cor,dat_cor_p,dat_cor_r,dat_table6,dat3_1,doc,head,tbl,format_msd,format_p,format_r) #Note of Table 6 round(mean(dat3$descriptions_self),2) round(sd(dat3$descriptions_self),2) round(mean(dat3$lbdq_self),2) round(sd(dat3$lbdq_self),2) t.test(dat3$descriptions_self, mu = 4, alternative = "two.sided") cohens_d(dat3$descriptions_self, mu=4) t.test(dat3$lbdq_self, mu = 3, alternative = "two.sided") cohens_d(dat3$lbdq_self, mu=3) #Perceived Leadership Style round(mean(dat3_dem$perceived_style_supervisor),2) round(sd(dat3_dem$perceived_style_supervisor),2) t.test(dat3_dem$perceived_style_supervisor, mu = 3.5, alternative = "two.sided") cohens_d(dat3_dem$perceived_style_supervisor, mu=3.5) round(mean(dat3_aut$perceived_style_supervisor),2) round(sd(dat3_aut$perceived_style_supervisor),2) t.test(dat3_aut$perceived_style_supervisor, mu = 3.5, alternative = "two.sided") cohens_d(dat3_aut$perceived_style_supervisor, mu=3.5) leveneTest(dat3$perceived_style_supervisor, dat3$style_supervisor) t.test(dat3$perceived_style_supervisor ~ dat3$style_supervisor, var.equal = TRUE) cohens_d(dat3$perceived_style_supervisor ~ dat3$style_supervisor) rm(dat3_aut,dat3_dem) #Table 7: Results of the Moderation Model and the Moderated Mediation Model in Study 3 ##moderation model moderation_model3 <- lm(Zattraction ~ Znarq_adm + Znarq_riv + Zstyle_supervisor + ZADMxSLS + ZRIVxSLS, data=dat3) dat3_mod <- data.frame(summary(moderation_model3)$coef,confint(moderation_model3)) moderation_model3_rsquared_p <- pf(summary(moderation_model3)$fstatistic[1],summary(moderation_model3)$fstatistic[2],summary(moderation_model3)$fstatistic[3],lower.tail=FALSE) moderation_model3_rsquared_p <- ifelse(moderation_model3_rsquared_p < 0.001, "< .001", paste0("= ", substr(round(moderation_model3_rsquared_p, 3),2,5))) moderation_model3_rsquared <- paste0("R2 = ",substr(round(summary(moderation_model3)$r.squared,2),2,4),", F(",summary(moderation_model3)$fstatistic[2],", ",summary(moderation_model3)$fstatistic[3],") = ",round(summary(moderation_model3)$fstatistic[1],2),", p ",moderation_model3_rsquared_p) ##effect size of interaction between narcissistic rivalry and supervisor’s leadership style moderation_model3_no_RIVxSLS <- lm(Zattraction ~ Znarq_adm + Znarq_riv + Zstyle_supervisor + ZADMxSLS, data=dat3) cohens_f_squared_RIVxSLS <- cohens_f_squared(moderation_model3, model2 = moderation_model3_no_RIVxSLS) fstatistic_RIVxSLS <- anova(moderation_model3,moderation_model3_no_RIVxSLS) fstatistic_RIVxSLS_p <- ifelse(fstatistic_RIVxSLS[2,6] < 0.001, "< .001", paste0("= ", substr(round(fstatistic_RIVxSLS[2,6], 3),2,5))) paste0("f2 = ",substr(round(cohens_f_squared_RIVxSLS[1,1],2),2,4),", ΔR2 = ",substr(round(cohens_f_squared_RIVxSLS[1,5],2),2,4),", F(1, 595) = ",round(fstatistic_RIVxSLS[2,5],2),", p ",fstatistic_RIVxSLS_p) ##simple slopes dat3$Zstyle_supervisor_dem <- dat3$Zstyle_supervisor - abs(max(dat3$Zstyle_supervisor)) #leadership style value of democratic supervisor: 1.004168 dat3$Zstyle_supervisor_aut <- dat3$Zstyle_supervisor + abs(min(dat3$Zstyle_supervisor)) #leadership style value of autocratic supervisor: -0.9941926 dat3$ZADMxSLS_dem <- scale(dat3$Znarq_adm*dat3$Zstyle_supervisor_dem) dat3$ZRIVxSLS_dem <- scale(dat3$Znarq_riv*dat3$Zstyle_supervisor_dem) dat3$ZADMxSLS_aut <- scale(dat3$Znarq_adm*dat3$Zstyle_supervisor_aut) dat3$ZRIVxSLS_aut <- scale(dat3$Znarq_riv*dat3$Zstyle_supervisor_aut) model_dem <- lm(Zattraction ~ Znarq_adm + Znarq_riv + Zstyle_supervisor_dem + ZADMxSLS_dem + ZRIVxSLS_dem, data=dat3) model_aut <- lm(Zattraction ~ Znarq_adm + Znarq_riv + Zstyle_supervisor_aut + ZADMxSLS_aut + ZRIVxSLS_aut, data=dat3) dat3_mod_dem <- data.frame(summary(model_dem)$coef,confint(model_dem)) dat3_mod_aut <- data.frame(summary(model_aut)$coef,confint(model_aut)) paste0("relation between rivalry and atraction to democratic supervisor: beta = ", round(dat3_mod_dem[3,1], digits = 2), ", 95% CI [", round(dat3_mod_dem[3,5], digits = 2), ", ", round(dat3_mod_dem[3,6], digits = 2), "], t(595) = ", round(dat3_mod_dem[3,3], digits = 2), ", p = ", round(dat3_mod_dem[3,4], digits = 3)) paste0("relation between rivalry and atraction to autocratic supervisor: beta = ", round(dat3_mod_aut[3,1], digits = 2), ", 95% CI [", round(dat3_mod_aut[3,5], digits = 2), ", ", round(dat3_mod_aut[3,6], digits = 2), "], t(595) = ", round(dat3_mod_aut[3,3], digits = 2), ", p = ", round(dat3_mod_aut[3,4], digits = 3)) ##moderated mediation model set.seed(123) #setting the seed for reproducibility mediation_model3 <- ' Zattraction ~ Znarq_adm + c*Znarq_riv + Zstyle_supervisor + b*Zstyle_index_self + ZADMxSLS + h*ZRIVxSLS + g*ZSHLSxSLS Zstyle_index_self ~ a1*Znarq_adm + a2*Znarq_riv ## index of moderated mediaion index_adm := a1 * g index_riv := a2 * g ## conditional effects of RIV indirect_aut := a2*(b-0.9941926*g) indirect_dem := a2*(b+1.004168*g) direct_aut := c-0.9941926*h direct_dem := c+1.004168*h ## conditional effects of SHLS SHLS_aut := b-0.9941926*g SHLS_dem := b+1.004168*g' results <- sem(mediation_model3, data = dat3, meanstructure = TRUE, se = "bootstrap", bootstrap = 10000) dat3_modmed <- data.frame(parameterEstimates(results, ci = TRUE, level = 0.95, boot.ci.type = "bca.simple")) #bias-corrected percentile method dat3_modmed_index_simpleslopes <- dat3_modmed[c(41:48),] dat3_modmed <- dat3_modmed[c(8:9,1:2,4,3,5:7),] mediation_model3_path_a <- lm(Zstyle_index_self ~ Znarq_adm + Znarq_riv, data=dat3) mediation_model3_path_a_rsquared_p <- pf(summary(mediation_model3_path_a)$fstatistic[1],summary(mediation_model3_path_a)$fstatistic[2],summary(mediation_model3_path_a)$fstatistic[3],lower.tail=FALSE) mediation_model3_path_a_rsquared_p <- ifelse(mediation_model3_path_a_rsquared_p < 0.001, "< .001", paste0("= ", substr(round(mediation_model3_path_a_rsquared_p, 3),2,5))) mediation_model3_path_a_rsquared <- paste0("R2 = ",substr(round(summary(mediation_model3_path_a)$r.squared,2),2,4),", F(",summary(mediation_model3_path_a)$fstatistic[2],", ",summary(mediation_model3_path_a)$fstatistic[3],") = ",round(summary(mediation_model3_path_a)$fstatistic[1],2),", p ",mediation_model3_path_a_rsquared_p) mediation_model3_path_b <- lm(Zattraction ~ Znarq_adm + Znarq_riv + Zstyle_supervisor + Zstyle_index_self + ZADMxSLS + ZRIVxSLS + ZSHLSxSLS, data=dat3) mediation_model3_path_b_rsquared_p <- pf(summary(mediation_model3_path_b)$fstatistic[1],summary(mediation_model3_path_b)$fstatistic[2],summary(mediation_model3_path_b)$fstatistic[3],lower.tail=FALSE) mediation_model3_path_b_rsquared_p <- ifelse(mediation_model3_path_b_rsquared_p < 0.001, "< .001", paste0("= ", substr(round(mediation_model3_path_b_rsquared_p, 3),2,5))) mediation_model3_path_b_rsquared <- paste0("R2 = ",substr(round(summary(mediation_model3_path_b)$r.squared,2),2,4),", F(",summary(mediation_model3_path_b)$fstatistic[2],", ",summary(mediation_model3_path_b)$fstatistic[3],") = ",round(summary(mediation_model3_path_b)$fstatistic[1],2),", p ",mediation_model3_path_b_rsquared_p) ##effect size of relation between narcissistic rivalry and subordinate’s hypothetical leadership style mediation_model3_path_a_no_riv <- lm(Zstyle_index_self ~ Znarq_adm, data=dat3) cohens_f_squared_path_a_riv <- cohens_f_squared(mediation_model3_path_a, model2 = mediation_model3_path_a_no_riv) fstatistic_path_a_riv <- anova(mediation_model3_path_a,mediation_model3_path_a_no_riv) fstatistic_path_a_riv_p <- ifelse(fstatistic_path_a_riv[2,6] < 0.001, "< .001", paste0("= ", substr(round(fstatistic_path_a_riv[2,6], 3),2,5))) paste0("f2 = ",substr(round(cohens_f_squared_path_a_riv[1,1],2),2,4),", ΔR2 = ",substr(round(cohens_f_squared_path_a_riv[1,5],2),2,4),", F(1, 598) = ",round(fstatistic_path_a_riv[2,5],2),", p ",fstatistic_path_a_riv_p) ##effect size of interaction between subordinate’s hypothetical leadership style and supervisor’s leadership style mediation_model3_path_b_no_SHLSxSLS <- lm(Zattraction ~ Znarq_adm + Znarq_riv + Zstyle_supervisor + Zstyle_index_self + ZADMxSLS + ZRIVxSLS, data=dat3) cohens_f_squared_SHLSxSLS <- cohens_f_squared(mediation_model3_path_b, model2 = mediation_model3_path_b_no_SHLSxSLS) fstatistic_SHLSxSLS <- anova(mediation_model3_path_b,mediation_model3_path_b_no_SHLSxSLS) fstatistic_SHLSxSLS_p <- ifelse(fstatistic_SHLSxSLS[2,6] < 0.001, "< .001", paste0("= ", substr(round(fstatistic_SHLSxSLS[2,6], 3),2,5))) paste0("f2 = ",substr(round(cohens_f_squared_SHLSxSLS[1,1],2),2,4),", ΔR2 = ",substr(round(cohens_f_squared_SHLSxSLS[1,5],2),2,4),", F(1, 593) = ",round(fstatistic_SHLSxSLS[2,5],2),", p ",fstatistic_SHLSxSLS_p) ##create table dat3_mod[7:10,] <- NA dat3_mod <- dat3_mod[c(7:8,2:3,9,4:6,10),] dat3_mod$Predictor <- c("ADM","RIV","ADM","RIV","SHLS","SLS","ADM x SLS","RIV x SLS","SHLS x SLS") dat3_mod$blank <- NA dat_table7 <- cbind(dat3_mod[,c(7,1,5:6,3:4,8)],dat3_modmed[,c(5,9:10,7:8)]) colnames(dat_table7) <- c("Predictor","beta1","ci_lower1","ci_upper1","t","p1","blank","beta2","ci_lower2","ci_upper2","z","p2") dat_table7[,2:12] <- sapply(dat_table7[,2:12], as.numeric) format_beta <- function(x){ ifelse(abs(x) < 0.005, f_num(unlist(x), digits=3), f_num(unlist(x), digits=2)) } dat_table7[,c(2:4,8:10)] <- dat_table7[,c(2:4,8:10)] %>% mutate_if(is.numeric, format_beta) format_t <- function(x){ formatC(x, format = "f", digits = 2) } dat_table7[,c(5,11)] <- dat_table7[,c(5,11)] %>% mutate_if(is.numeric, format_t) format_p <- function(x){ ifelse(abs(x) < 0.001, "< .001", f_num(unlist(x), digits=3)) } dat_table7[,c(6,12)] <- dat_table7[,c(6,12)] %>% mutate_if(is.numeric, format_p) dat_table7$ci1 <- paste0("[", dat_table7$ci_lower1, ", ", dat_table7$ci_upper1, "]") dat_table7$ci2 <- paste0("[", dat_table7$ci_lower2, ", ", dat_table7$ci_upper2, "]") dat_table7 <- dat_table7[,c("Predictor","beta1","ci1","t","p1","blank","beta2","ci2","z","p2")] dat_table7[c(1:2,5,9),c(2:5)] <- NA dat_table7[10,2] <- "Subordinate's Hypothetical Leadership Style" dat_table7[11,7] <- mediation_model3_path_a_rsquared dat_table7[12,2] <- "Attraction to Supervisor" dat_table7[13,2] <- moderation_model3_rsquared dat_table7[13,7] <- mediation_model3_path_b_rsquared dat_table7 <- dat_table7[c(10,1:2,11:12,3:9,13),] col_keys <- c("Predictor","beta1","ci1","t","p1","blank","beta2","ci2","z","p2") head1 <- c("","Moderation model","Moderation model","Moderation model","Moderation model","","Moderated mediation model","Moderated mediation model","Moderated mediation model","Moderated mediation model") head2 <- c("Predictor","\u03B2","95% CI","t","p","","\u03B2","95% CI","z","p") head <- data.frame(col_keys,head1,head2, stringsAsFactors = FALSE) rm(col_keys,head1,head2) tbl <- flextable(dat_table7) tbl <- set_header_df(tbl, mapping=head, key="col_keys") tbl <- hline_top(tbl, j=1:10, border=fp_border(width=2), part="header") tbl <- merge_at(tbl, i=1, j=2:5, part="header") tbl <- merge_at(tbl, i=1, j=7:10, part="header") tbl <- merge_at(tbl, i=1, j=2:10, part="body") tbl <- merge_at(tbl, i=4, j=7:10, part="body") tbl <- merge_at(tbl, i=5, j=2:10, part="body") tbl <- merge_at(tbl, i=13, j=7:10, part="body") tbl <- merge_at(tbl, i=13, j=2:5, part="body") tbl <- hline(tbl, i=1, j=c(2:5,7:10), border=fp_border(width=1.2), part="header") tbl <- hline(tbl, i=2, j=1:10, border=fp_border(width=1.2), part="header") tbl <- flextable::font(tbl, fontname="Times", part="all") tbl <- fontsize(tbl, size=12, part="all") tbl <- fontsize(tbl, i=c(4,13), size=11, part="body") tbl <- align(tbl, align="center", part="all") tbl <- align(tbl, j = c("Predictor"), align="left", part="body") tbl <- italic(tbl, i=2, j=c("t","p1","z","p2"), part="header") tbl <- width(tbl, j =~ Predictor, width=1) tbl <- width(tbl, j =~ beta1 + beta2, width=.45) tbl <- width(tbl, j =~ ci1 + ci2, width=.95) tbl <- width(tbl, j =~ t + z, width=.6) tbl <- width(tbl, j =~ p1 + p2, width=.6) tbl <- width(tbl, j =~ blank, width=.3) tbl <- height_all(tbl, height=.2, part="all") tbl setwd(files_wd) doc <- read_docx() doc <- body_add_flextable(doc, value = tbl) print(doc, target = "Table_7.docx") rm(moderation_model3,model_aut,model_dem,dat3_mod,dat3_mod_aut,dat3_mod_dem,moderation_model3_rsquared,moderation_model3_rsquared_p,moderation_model3_no_RIVxSLS,cohens_f_squared_RIVxSLS,fstatistic_RIVxSLS,fstatistic_RIVxSLS_p, mediation_model3,dat3_modmed,results,mediation_model3_path_a,mediation_model3_path_a_rsquared_p,mediation_model3_path_a_rsquared,mediation_model3_path_b,mediation_model3_path_b_rsquared_p,mediation_model3_path_b_rsquared, mediation_model3_path_a_no_riv,cohens_f_squared_path_a_riv,fstatistic_path_a_riv,fstatistic_path_a_riv_p,mediation_model3_path_b_no_SHLSxSLS,cohens_f_squared_SHLSxSLS,fstatistic_SHLSxSLS,fstatistic_SHLSxSLS_p,head,tbl,format_beta,format_p,format_t,doc) #Figure 3: Attraction to Supervisor as a Function of Subordinate's Narcissistic Rivalry and Supervisor's Leadership Style in Study 3 dat_figure3 <- dat_table7[-c(1,4,5,13), ] dat_figure3[,2] <- sapply(dat_figure3[,2], as.numeric) dat3$y_plot_dem <- dat_figure3[4,2] * dat3$Znarq_riv + dat_figure3[6,2] * max(dat3$Zstyle_supervisor) + dat_figure3[8,2] * dat3$Znarq_riv * max(dat3$Zstyle_supervisor) dat3$y_plot_aut <- dat_figure3[4,2] * dat3$Znarq_riv + dat_figure3[6,2] * min(dat3$Zstyle_supervisor) + dat_figure3[8,2] * dat3$Znarq_riv * min(dat3$Zstyle_supervisor) dat3_plot_dem <- subset(dat3, select = c(Znarq_riv,y_plot_dem)) dat3_plot_aut <- subset(dat3, select = c(Znarq_riv,y_plot_aut)) dat3_plot_dem$leader <- "democratic" dat3_plot_aut$leader <- "autocratic" names(dat3_plot_dem)[2] <- "y_plot" names(dat3_plot_aut)[2] <- "y_plot" dat3_plot <- rbind(dat3_plot_dem,dat3_plot_aut) max(dat3_plot$y_plot) #maximum value on y-axis: 0.81671 min(dat3_plot$y_plot) #minimum value on y-axis: -0.8855826 legend_title <- "Supervisor's Leadership Style" legend_labels <- c("Autocratic ","Democratic") Figure3 <- ggplot(data=dat3_plot, aes(x=Znarq_riv, y=y_plot, color=factor(leader))) + geom_line(aes(linetype = factor(leader)), linewidth = 1) + scale_linetype_manual(name=legend_title, labels=legend_labels, values=c("solid","solid"), guide = guide_legend(direction = "horizontal", title.position = "top")) + scale_color_manual(name=legend_title, labels=legend_labels, values=c("black","grey"), guide = guide_legend(direction = "horizontal", title.position = "top")) + theme(legend.position = "top", legend.title = element_text(size=11), legend.title.align=0.5, legend.text = element_text(size=11), legend.key = element_blank(), legend.key.width = unit(1,"cm"), legend.box.margin=margin(10,10,5,10), axis.text = element_text(colour = "black", size=9), axis.title.x = element_text(size=11), axis.title.y = element_text(size=11, margin=margin(0,5,0,0)), axis.ticks = element_blank(), panel.background = element_blank(), axis.line = element_line(colour = "black"), panel.grid = element_blank(), plot.tag = element_text(color="black", size=11)) + ylim(-1, 1) + ylab("Attraction to Supervisor") + xlab("Subordinate's Rivalry") ggsave("Figure_3.jpg", plot=Figure3, device="jpg", path="C:/NarcSub/", width=90, height=90, units="mm", dpi=720) rm(dat_figure3,dat3_plot,dat3_plot_aut,dat3_plot_dem,Figure3,legend_labels,legend_title) #Figure 4: Moderated Mediation Model in Study 3 ##path coefficients paste0("effect of rivalry on SHLS: beta = ", dat_table7$beta2[3], ", 95% CI ", dat_table7$ci2[3]) paste0("direct effect of rivalry on atraction to democratic supervisor: beta = ", round(dat3_modmed_index_simpleslopes[6,5], digits = 2), ", 95% CI [", round(dat3_modmed_index_simpleslopes[6,9], digits = 2), ", ", round(dat3_modmed_index_simpleslopes[6,10], digits = 2), "]") paste0("direct effect of rivalry on atraction to autocratic supervisor: beta = ", round(dat3_modmed_index_simpleslopes[5,5], digits = 2), ", 95% CI [", round(dat3_modmed_index_simpleslopes[5,9], digits = 2), ", ", round(dat3_modmed_index_simpleslopes[5,10], digits = 2), "]") paste0("relation between SHLS and atraction to democratic supervisor: beta = ", round(dat3_modmed_index_simpleslopes[8,5], digits = 2), ", 95% CI [", round(dat3_modmed_index_simpleslopes[8,9], digits = 2), ", ", round(dat3_modmed_index_simpleslopes[8,10], digits = 2), "]") paste0("relation between SHLS and atraction to autocratic supervisor: beta = ", round(dat3_modmed_index_simpleslopes[7,5], digits = 2), ", 95% CI [", round(dat3_modmed_index_simpleslopes[7,9], digits = 2), ", ", round(dat3_modmed_index_simpleslopes[7,10], digits = 2), "]") #Indirect effects paste0("Study 3: index of moderated mediation for rivalry: estimate = ", round(dat3_modmed_index_simpleslopes[2,5], digits = 2), ", 95% CI [", round(dat3_modmed_index_simpleslopes[2,9], digits = 2), ", ", round(dat3_modmed_index_simpleslopes[2,10], digits = 2), "], z = ", round(dat3_modmed_index_simpleslopes[2,7], digits = 2), ", p = ", round(dat3_modmed_index_simpleslopes[2,8], digits = 3)) paste0("Study 3: indirect effect of rivalry for democratic supervisor: estimate = ", round(dat3_modmed_index_simpleslopes[4,5], digits = 2), ", 95% CI [", round(dat3_modmed_index_simpleslopes[4,9], digits = 2), ", ", round(dat3_modmed_index_simpleslopes[4,10], digits = 2), "], z = ", round(dat3_modmed_index_simpleslopes[4,7], digits = 2), ", p = ", round(dat3_modmed_index_simpleslopes[4,8], digits = 3)) paste0("Study 3: indirect effect of rivalry for autocratic supervisor: estimate = ", round(dat3_modmed_index_simpleslopes[3,5], digits = 2), ", 95% CI [", round(dat3_modmed_index_simpleslopes[3,9], digits = 2), ", ", round(dat3_modmed_index_simpleslopes[3,10], digits = 2), "], z = ", round(dat3_modmed_index_simpleslopes[3,7], digits = 2), ", p = ", round(dat3_modmed_index_simpleslopes[3,8], digits = 3)) paste0("Study 3: index of moderated mediation for admiration: estimate = ", round(dat3_modmed_index_simpleslopes[1,5], digits = 2), ", 95% CI [", round(dat3_modmed_index_simpleslopes[1,9], digits = 2), ", ", round(dat3_modmed_index_simpleslopes[1,10], digits = 2), "], z = ", round(dat3_modmed_index_simpleslopes[1,7], digits = 2), ", p = ", round(dat3_modmed_index_simpleslopes[1,8], digits = 3)) #clear environment rm(list = ls())