# personality-data example for BDA2, analyzing data from just 6 persons # (to save space in the figure) # data from Kristof Vansteelandt; see Vansteelandt, K., & Van Mechelen, I. (1998). Individual differences in situation-behavior profiles: A triple typology model. Journal of Personality and Social Psychology, 75, 751-765. nsubjects <- 6 nrep <- 7 test <- function (a){ output <- as.vector(a)>0 glm.data.frame <- data.frame (output, response, situation, person) glm0 <- glm (output ~ factor(response) + factor(situation) + factor(person), family=binomial(link=logit), data=glm.data.frame) pred0 <- predict.glm (glm0, type="response") mean (ifelse(output, (1-pred0)^2, pred0^2)) } data <- array (scan("personality.dat"), c(15,23,54)) data <- data[,,1:nsubjects] dims <- dim(data) data <- ifelse (data>0, 1, 0) av <- banova(data, c("response", "situation", "person")) round (av$banova, 2) reorder <- as.list (rep(NA,3)) for (k in 1:3) reorder[[k]] <- order (av$coef[[1]][[k]]) output <- as.vector(data) output <- output>0 response <- as.vector(slice.index(data,1)) situation <- as.vector(slice.index(data,2)) person <- as.vector(slice.index(data,3)) glm.data.frame <- data.frame (output, response, situation, person) glm0 <- glm (output ~ factor(response) + factor(situation) + factor(person), family=binomial(link=logit), data=glm.data.frame) pred0 <- predict.glm (glm0, type="response") yrep <- array (NA, c(dim(data),nrep)) for (rep in 1:nrep){ yrep[,,,rep] <- ifelse (runif(length(output))0 response <- as.vector(slice.index(data.noise,1)) situation <- as.vector(slice.index(data.noise,2)) person <- as.vector(slice.index(data.noise,3)) glm.data.frame <- data.frame (output, response, situation, person) glm0 <- glm (output ~ factor(response) + factor(situation) + factor(person), family=binomial(link=logit), data=glm.data.frame) pred0 <- predict.glm (glm0, type="response") yrep <- array (NA, c(dim(data.noise),nrep)) for (rep in 1:nrep){ yrep[,,,rep] <- ifelse (runif(length(output))