# ITEM01-ITEM30 -> Sample items of proactive personality test # Select is whether candidates were selected or not # Sex is job applicant's sex # sjtnorm is the result of situational judgement test based on experts' opinion on dealing with customers dat <- read.table("project1ex.csv", sep = ",", header = TRUE) # REvERSE ITEMS dat[,2] <- 6 - dat[,2] dat[,4] <- 6 - dat[,4] dat[,6] <- 6 - dat[,6] dat[,8] <- 6 - dat[,8] dat[,10] <- 6 - dat[,10] dat[,12] <- 6 - dat[,12] dat[,14] <- 6 - dat[,14] dat[,16] <- 6 - dat[,16] dat[,18] <- 6 - dat[,18] dat[,20] <- 6 - dat[,20] dat[,22] <- 6 - dat[,22] dat[,24] <- 6 - dat[,24] dat[,26] <- 6 - dat[,26] dat[,28] <- 6 - dat[,28] dat[,30] <- 6 - dat[,30] cor(dat[,1], dat[,2]) cor(dat[,"ITEM01"], dat[,"ITEM02"]) cor(dat[,1:30]) round(cor(dat[,1:30]), 3) apply(dat[,1:30], 2, mean) apply(dat[,1:30], 2, sd) library(psych) alpha(dat[,1:30]) out <- alpha(dat[,1:30]) names(out) out$total relia <- out$total[1] total <- apply(dat[,1:30], 1, sum) dat$total <- apply(dat[,1:30], 1, sum) summary(dat$total) describe(dat$total) sigmay <- sd(dat$total) sem <- sigmay * sqrt(1 - relia) crit <- -qnorm(0.025) 89 - crit*sem 89 + crit*sem select1 <- colnames(dat)[1:30] alpha(dat[,select1]) select2 <- setdiff(1:30, "ITEM09") alpha(dat[,select2]) select3 <- setdiff(1:30, c("ITEM02", "ITEM09")) alpha(dat[,select3]) select3 <- setdiff(1:30, c("ITEM02", "ITEM09")) out <- alpha(dat[,select3])[["item.stats"]] dat$total2 <- apply(dat[,select3], 1, sum) aggregate(total2 ~ sex, data = dat, FUN = mean) aggregate(total2 ~ sex, data = dat, FUN = sd) t.test(total2 ~ sex, data = dat) groupmean <- aggregate(total2 ~ sex, data = dat, FUN = mean) groupsd <- aggregate(total2 ~ sex, data = dat, FUN = sd) groupcount <- aggregate(total2 ~ sex, data = dat, FUN = length) sdfemale <- groupsd[1,2] sdmale <- groupsd[2,2] nfemale <- groupcount[1,2] nmale <- groupcount[2,2] mfemale <- groupmean[1,2] mmale <- groupmean[2,2] pooledsd <- sqrt(((nfemale - 1) * sdfemale^2 + (nmale - 1) * sdmale^2)/(nfemale + nmale - 2)) dsex <- (mfemale - mmale) / pooledsd cor.test(dat$total2, dat$sjtnorm)