library(haven)
<- read_dta("WVS7IDN.dta") wvs7idn
4 Manajemen Data
Buku ini merupakan pengantar untuk belajar
4.1 Mempersiapkan data
You can also embed plots, for example:
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.1 ✔ readr 2.1.4
✔ forcats 1.0.0 ✔ stringr 1.5.0
✔ ggplot2 3.4.2 ✔ tibble 3.2.1
✔ lubridate 1.9.2 ✔ tidyr 1.3.0
✔ purrr 1.0.1
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
<- as.data.frame(apply(wvs7idn, 2, function(x) as.numeric(x))) wvs7idn
4.1.1 Recode
<- mutate(wvs7idn, happy.x = case_when(
wvs7idn == 1 ~ 4,
happy == 2 ~ 3,
happy == 3 ~ 2,
happy == 4 ~ 1,
happy TRUE ~ NA_real_
))
<- mutate(wvs7idn, health.x = case_when(
wvs7idn == 1 ~ 5,
health == 2 ~ 4,
health == 3 ~ 3,
health == 4 ~ 2,
health == 5 ~ 1,
health TRUE ~ NA_real_
))
4.1.2 Membuat dummy variable
library(labelled)
look_for(wvs7idn, "urbrural")
pos variable label col_type missing values
3 urbrural — dbl 0
$urban <- ifelse(wvs7idn$urbrural==1,1,0)
wvs7idn$rural <- ifelse(wvs7idn$urbrural==2,1,0)
wvs7idn
## 2b. Dummy Gender
look_for(wvs7idn, "gender")
pos variable label col_type missing values
16 gender — dbl 0
$female <- ifelse(wvs7idn$gender==2,1,0)
wvs7idn$male <- ifelse(wvs7idn$gender==1,1,0)
wvs7idn
## 2c. Dummy Marital
look_for(wvs7idn, "marital")
pos variable label col_type missing values
18 marital — dbl 0
$married <- ifelse(wvs7idn$marital==1,1,0)
wvs7idn$livtog <- ifelse(wvs7idn$marital==2,1,0)
wvs7idn$divorced <- ifelse(wvs7idn$marital==3,1,0)
wvs7idn$separated <- ifelse(wvs7idn$marital==4,1,0)
wvs7idn$widowed <- ifelse(wvs7idn$marital==5,1,0)
wvs7idn$single <- ifelse(wvs7idn$marital==6,1,0) wvs7idn
4.1.3 Membuat variabel baru
##Membuat variabel age kuadrat
<- mutate(wvs7idn, age2=age*age)
wvs7idn
##Menjumlah total kepercayaan (perlu recode karena nilai terbalik)
<- mutate(wvs7idn, trfam.x = case_when(
wvs7idn == 1 ~ 4,
trfam == 2 ~ 3,
trfam == 3 ~ 2,
trfam == 4 ~ 1,
trfam TRUE ~ NA_real_
))
<- mutate(wvs7idn, trng.x = case_when(
wvs7idn == 1 ~ 4,
trng == 2 ~ 3,
trng == 3 ~ 2,
trng == 4 ~ 1,
trng TRUE ~ NA_real_
))
<- mutate(wvs7idn, trknow.x = case_when(
wvs7idn == 1 ~ 4,
trknow == 2 ~ 3,
trknow == 3 ~ 2,
trknow == 4 ~ 1,
trknow TRUE ~ NA_real_
))
<- mutate(wvs7idn, trmeet.x = case_when(
wvs7idn == 1 ~ 4,
trmeet == 2 ~ 3,
trmeet == 3 ~ 2,
trmeet == 4 ~ 1,
trmeet TRUE ~ NA_real_
))
<- mutate(wvs7idn, trareg.x = case_when(
wvs7idn == 1 ~ 4,
trareg == 2 ~ 3,
trareg == 3 ~ 2,
trareg == 4 ~ 1,
trareg TRUE ~ NA_real_
))
<- mutate(wvs7idn, tranat.x = case_when(
wvs7idn == 1 ~ 4,
tranat == 2 ~ 3,
tranat == 3 ~ 2,
tranat == 4 ~ 1,
tranat TRUE ~ NA_real_
))
### Penjumlahan variabel kepercayaan
<- mutate(wvs7idn, trust_all=trfam.x+trng.x+trknow.x+trmeet.x+trareg.x+tranat.x) wvs7idn