# GSS Video Tutorial Script # Felipe A. Osorio # Updated August 30, 2012 ## Part Two rm(list=ls()) options(scipen=5) library(survey) library(foreign) library(car) gssFullPanel <- read.dta("gss2012full.dta") gssPanel <- subset(gssFullPanel, select = c(id, year, sex, age, educ, region, partyid, reliten, hispanic, race, ethnic, wtssnr)) gssPanel$hispanico1 <- ifelse(gssPanel$hispanic != "not hispanic", 1, 0) #only avail 2000-2006 rm(gssFullPanel) time <- unique(gssPanel$year) hindex <- c(17, 20, 22, 25, 38) # mexico, puerto rico, spain, filipino, other spanish; (29 = other) gssPanel$hispanico2 <- ifelse(gssPanel$ethnic %in% hindex, 1, 0) gssPanel$hispanico1[is.na(gssPanel$hispanico1)] <- 0 #two ethnicity indicators gssPanel$hispanico2[is.na(gssPanel$hispanico2)] <- 0 # based on GSS questions levels(gssPanel$race) <- c("hispanic","white","black","other") gssPanel$row.no <- 1:length(gssPanel$id) all.hispanics <- gssPanel$row.no[(gssPanel$hispanico1 > 0) | (gssPanel$hispanico2 > 0)] gssPanel$race[all.hispanics] <- "hispanic" levels(gssPanel$reliten) <- c(0, 3, 1, 2, 0, 0, NA) #quantifying religious importance levels(gssPanel$partyid) <- c(-3, -2, -1, 0, 1, 2, 3, NA, 0, NA) #unidimensional gradations of party ID dataMat <- data.frame(as.numeric(gssPanel$reliten), as.numeric(gssPanel$partyid)) names(dataMat) <- c("iReligion", "partyID") dataMat$iReligion[dataMat$iReligion == 1] <- 0 #correcting numeric to match factor levels dataMat$iReligion[dataMat$iReligion == 3] <- 1 dataMat$iReligion[dataMat$iReligion == 2] <- 3 dataMat$iReligion[dataMat$iReligion == 4] <- 2