library(foreign)
ESS <- read.spss("C:/Users/Administrator/YandexDisk/datafiles/ESS5e03.sav", use.value.labels=T, to.data.frame=T)
ESS1 <- ESS[c("eduyrs", "agea", "agertr", "gndr",
"cntry", "icmnact", "facntr", "mocntr",
"ipeqopt", "ipudrst", "impenv",
"ipfrule", "ipbhprp", "impfun")]
dim(ESS1)
ESS1 <- subset(ESS, select = c("eduyrs", "agea", "agertr", "gndr",
"cntry", "icmnact", "facntr", "mocntr",
"ipeqopt", "ipudrst", "impenv",
"ipfrule", "ipbhprp", "impfun"))
dim(ESS1)
## [1] 52458 14
library(dplyr)
ESS1 <- select(ESS, c("eduyrs", "agea", "agertr", "gndr",
"cntry", "icmnact", "facntr", "mocntr",
"ipeqopt", "ipudrst", "impenv",
"ipfrule", "ipbhprp", "impfun"))
dim(ESS1)
ESS1$eduyrs <- as.numeric(ESS1$eduyrs)
ESS1$eduyrs3[ESS1$eduyrs <= 10] <- "basic"
ESS1$eduyrs3[ESS1$eduyrs > 10 & ESS1$eduyrs <= 16] <- "grad"
ESS1$eduyrs3[ESS1$eduyrs > 16] <- "post-grad"
table(ESS1$eduyrs, ESS1$eduyrs3)
##
## basic grad post-grad
## 1 289 0 0
## 2 98 0 0
## 3 166 0 0
## 4 433 0 0
## 5 1166 0 0
## 6 388 0 0
## 7 1443 0 0
## 8 1137 0 0
## 9 2968 0 0
## 10 3041 0 0
## 11 0 3647 0
## 12 0 5403 0
## 13 0 9125 0
## 14 0 4593 0
## 15 0 3578 0
## 16 0 3646 0
## 17 0 0 3427
## 18 0 0 2522
## 19 0 0 1953
## 20 0 0 958
## 21 0 0 898
## 22 0 0 286
## 23 0 0 239
## 24 0 0 115
## 25 0 0 99
## 26 0 0 103
## 27 0 0 19
## 28 0 0 15
## 29 0 0 13
## 30 0 0 6
## 31 0 0 21
## 32 0 0 1
## 33 0 0 1
## 34 0 0 4
## 35 0 0 2
## 36 0 0 3
## 37 0 0 2
## 38 0 0 1
## 39 0 0 12
## 40 0 0 1
## 41 0 0 1
## 42 0 0 3
## 43 0 0 1
## 44 0 0 1
## 45 0 0 1
ESS1$eduyrs3 <- cut(ESS1$eduyrs, c(1, 10, 16, 46))
table(ESS1$eduyrs, ESS1$eduyrs3)
##
## (1,10] (10,16] (16,46]
## 1 0 0 0
## 2 98 0 0
## 3 166 0 0
## 4 433 0 0
## 5 1166 0 0
## 6 388 0 0
## 7 1443 0 0
## 8 1137 0 0
## 9 2968 0 0
## 10 3041 0 0
## 11 0 3647 0
## 12 0 5403 0
## 13 0 9125 0
## 14 0 4593 0
## 15 0 3578 0
## 16 0 3646 0
## 17 0 0 3427
## 18 0 0 2522
## 19 0 0 1953
## 20 0 0 958
## 21 0 0 898
## 22 0 0 286
## 23 0 0 239
## 24 0 0 115
## 25 0 0 99
## 26 0 0 103
## 27 0 0 19
## 28 0 0 15
## 29 0 0 13
## 30 0 0 6
## 31 0 0 21
## 32 0 0 1
## 33 0 0 1
## 34 0 0 4
## 35 0 0 2
## 36 0 0 3
## 37 0 0 2
## 38 0 0 1
## 39 0 0 12
## 40 0 0 1
## 41 0 0 1
## 42 0 0 3
## 43 0 0 1
## 44 0 0 1
## 45 0 0 1
ESS1$impfun3[ESS1$impfun == "Very much like me" | ESS1$impfun == "Like me"] <- 3
ESS1$impfun3[ESS1$impfun == "A little like me" | ESS1$impfun == "Somewhat like me"] <- 2
ESS1$impfun3[ESS1$impfun == "Not like me" | ESS1$impfun == "Not like me at all"] <- 1
table(ESS1$impfun, ESS1$impfun3)
##
## 1 2 3
## Very much like me 0 0 6303
## Like me 0 0 13650
## Somewhat like me 0 12619 0
## A little like me 0 9198 0
## Not like me 6570 0 0
## Not like me at all 2791 0 0
ESS1$impfun3 <- recode(ESS1$impfun, "Very much like me" = 3,
"Like me" = 3, "Somewhat like me" = 2, "A little like me" = 2, "Not like me" = 1,
"Not like me at all" = 1)
table(ESS1$impfun, ESS1$impfun3)
##
## 1 2 3
## Very much like me 0 0 6303
## Like me 0 0 13650
## Somewhat like me 0 12619 0
## A little like me 0 9198 0
## Not like me 6570 0 0
## Not like me at all 2791 0 0
library(plyr); library(dplyr)
ESS1$impfun3 <- revalue(ESS1$impfun, c("Very much like me" = 3,
"Like me" = 3, "Somewhat like me" = 2, "A little like me" = 2, "Not like me" = 1,
"Not like me at all" = 1))
table(ESS1$impfun, ESS1$impfun3)
##
## 3 2 1
## Very much like me 6303 0 0
## Like me 13650 0 0
## Somewhat like me 0 12619 0
## A little like me 0 9198 0
## Not like me 0 0 6570
## Not like me at all 0 0 2791
ESS1$impfun3 <- mapvalues(ESS1$impfun, from = c("Very much like me", "Like me", "Somewhat like me", "A little like me", "Not like me", "Not like me at all"), to = c("3", "3", "2", "2", "1", "1"))
table(ESS1$impfun, ESS1$impfun3)
##
## 3 2 1
## Very much like me 6303 0 0
## Like me 13650 0 0
## Somewhat like me 0 12619 0
## A little like me 0 9198 0
## Not like me 0 0 6570
## Not like me at all 0 0 2791
Больше о перекодировании можно найти здесь:
ESS1sub <- ESS1[which(ESS1$icmnact=="In paid work"),]
dim(ESS1sub)
## [1] 24049 16
summary(ESS1sub$icmnact)
## In paid work Retired All others
## 24049 0 0
ESS1sub <- subset(ESS1, subset=(icmnact=="In paid work"))
dim(ESS1sub)
## [1] 24049 16
ESS1sub <- ESS1 %>% filter(icmnact=="In paid work")
dim(ESS1sub)
## [1] 24049 16