# # ############################# Simulating Likert Data ############################### # ################################################################################ # Items (variables or columns) are related. n <- 1143 library(MASS) Sigma<-matrix(c(1.0, .80, .50, .20, .80, 1.0, .05, .05, .50, .05, 1.0, .05, .20, .05, .05, 1.0), ncol = 4) x <- mvrnorm(n, Sigma, mu=c(5,5,5,5)) x4 <- round(rnorm(n,5,1)) rm(Sigma) detach("package:MASS") id <- seq(1:n) data.1 <- data.frame(id, round(x), x4) names(data.1)[2:5] <- c("y", "x1", "x2", "x3") summary(data.1) rm(x,x4,id,n) ls() # If recoding is desired (i.e. true factors rather than numeric items). library(car) data.2 <- data.1[,2:6] for (i in 1:5){ data.2[,i] <- recode(data.2[,i], "1 = NA; 2 = 'StronglyAgree'; 3 = 'Agree'; 4 = 'SomewhatAgree'; 5 = 'Neutral'; 6 = 'SomewhatDisagree'; 7 = 'Disagree'; 8 = 'StronglyDisagree'; 9 = NA", as.factor.result = TRUE, as.numeric.result = FALSE) } id <- seq(1:nrow(data.2)) data.2 <- data.frame(id,data.2) summary(data.1) summary(data.2) detach("package:car") detach("package:MASS") detach("package:nnet") detach("package:survival") detach("package:splines") rm(i,id) ls() ################################################################################ # Items (variables or columns) are NOT related. n <- 1235 z <- c(1,2,3,4) samp.fun <- function(x, n){ sample(x, n, replace = TRUE) } data.3 <- data.frame(0) for (i in 1:9){ data.3[1:n,i] <- samp.fun(z,n) } summary(data.3) cor(data.3) head(data.3) names(data.3)[1:9] <- c("x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9") head(data.3) # If recoding is desired (i.e. true factors rather than numeric items). library(car) data.4 <- data.3 for (i in 1:9){ data.4[,i] <- recode(data.3[,i],"1 = 'StronglyAgree'; 2 = 'Agree'; 3 = 'Disagree'; 4 = 'StronglyDisagree'", as.factor.result = TRUE, as.numeric.result = FALSE) } summary(data.3) summary(data.4) detach("package:car") detach("package:MASS") detach("package:nnet") detach("package:survival") detach("package:splines") rm(i,n,samp.fun,z) ls() ################################################################################ cor(data.1[2:6]) mod.1 <- lm(y ~ x1 + x2 + x3 + x4, data.1) summary(mod.1) cor(data.3) mod.2 <- lm(x1 ~ x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9, data.3) summary(mod.2) rm(mod.1,mod.2) ls() # End.