3 Data Munging
- Membuat variabel baru dalam data frame
- Subsetting data
- Sorting data
- Recoding data
- Merging data
- Reshaping data
3.1 Data
perlakuan <- paste0("P",rep(1:4,each=3))
kelompok <- factor(rep(1:3,4))
respon <- seq(1,23,by=2)
dataRancob <- data.frame(perlakuan,kelompok,respon)
head(dataRancob)
## perlakuan kelompok respon
## 1 P1 1 1
## 2 P1 2 3
## 3 P1 3 5
## 4 P2 1 7
## 5 P2 2 9
## 6 P2 3 11
3.2 Latihan 1
Pada dataRancob, buatlah variabel ‘baru’ yang berisi nilai dari 12 sampai 1 secara berurutan
3.3 Jawaban 1
## perlakuan kelompok respon baru
## 1 P1 1 1 12
## 2 P1 2 3 11
## 3 P1 3 5 10
## 4 P2 1 7 9
## 5 P2 2 9 8
## 6 P2 3 11 7
## 7 P3 1 13 6
## 8 P3 2 15 5
## 9 P3 3 17 4
## 10 P4 1 19 3
## 11 P4 2 21 2
## 12 P4 3 23 1
3.4 Latihan 2
Dari dataRancob tersebut ambillah amatan yang termasuk kelompok 1
3.5 Jawaban 2
## perlakuan kelompok respon baru
## 1 P1 1 1 12
## 4 P2 1 7 9
## 7 P3 1 13 6
## 10 P4 1 19 3
3.6 Jawaban 2
## perlakuan kelompok respon baru
## 1 P1 1 1 12
## 4 P2 1 7 9
## 7 P3 1 13 6
## 10 P4 1 19 3
3.7 Latihan 3
Dari dataRancob tersebut ambillah yang termasuk kelompok 1 dan perlakuan P2
3.8 Jawaban 3
## perlakuan kelompok respon baru
## 4 P2 1 7 9
3.9 Jawaban 3
## perlakuan kelompok respon baru
## 4 P2 1 7 9
3.10 Latihan 4
Dari dataRancob tersebut ambillah amatan yang responnya berupa bilangan prima
3.11 Jawaban 4
## perlakuan kelompok respon baru
## 2 P1 2 3 11
## 3 P1 3 5 10
## 4 P2 1 7 9
## 6 P2 3 11 7
## 7 P3 1 13 6
## 9 P3 3 17 4
## 10 P4 1 19 3
## 12 P4 3 23 1
3.12 Jawaban 4
## perlakuan kelompok respon baru
## 2 P1 2 3 11
## 3 P1 3 5 10
## 4 P2 1 7 9
## 6 P2 3 11 7
## 7 P3 1 13 6
## 9 P3 3 17 4
## 10 P4 1 19 3
## 12 P4 3 23 1
3.13 Latihan 5
Urutkan dataRancob tersebut berdasarkan respon dari besar ke kecil
3.14 Jawaban 5
## perlakuan kelompok respon baru
## 12 P4 3 23 1
## 11 P4 2 21 2
## 10 P4 1 19 3
## 9 P3 3 17 4
## 8 P3 2 15 5
## 7 P3 1 13 6
## 6 P2 3 11 7
## 5 P2 2 9 8
## 4 P2 1 7 9
## 3 P1 3 5 10
## 2 P1 2 3 11
## 1 P1 1 1 12
3.15 Jawaban 5
## perlakuan kelompok respon baru
## 12 P4 3 23 1
## 11 P4 2 21 2
## 10 P4 1 19 3
## 9 P3 3 17 4
## 8 P3 2 15 5
## 7 P3 1 13 6
## 6 P2 3 11 7
## 5 P2 2 9 8
## 4 P2 1 7 9
## 3 P1 3 5 10
## 2 P1 2 3 11
## 1 P1 1 1 12
3.16 Latihan 6
Urutkan dataRancob tersebut berdasarkan respon dari besar ke kecil dan kelompok dari kecil ke besar
3.17 Jawaban 6
#cara 1
urutRespon <- order(dataRancob$respon,decreasing = TRUE)
urutkelompok <- order(dataRancob$kelompok,decreasing = FALSE)
dataRancob[urutRespon,][urutkelompok,]
## perlakuan kelompok respon baru
## 12 P4 3 23 1
## 9 P3 3 17 4
## 6 P2 3 11 7
## 3 P1 3 5 10
## 11 P4 2 21 2
## 8 P3 2 15 5
## 5 P2 2 9 8
## 2 P1 2 3 11
## 10 P4 1 19 3
## 7 P3 1 13 6
## 4 P2 1 7 9
## 1 P1 1 1 12
3.18 Latihan 7
Ubahlah struktur dataRancob menjadi data seperti
## perlakuan respon.1 baru.1 respon.2 baru.2 respon.3 baru.3
## 1 P1 1 12 3 11 5 10
## 4 P2 7 9 9 8 11 7
## 7 P3 13 6 15 5 17 4
## 10 P4 19 3 21 2 23 1
3.19 Jawaban 7
rancobWide <- reshape(dataRancob, idvar="perlakuan", timevar='kelompok', direction="wide")
rancobWide
## perlakuan respon.1 baru.1 respon.2 baru.2 respon.3 baru.3
## 1 P1 1 12 3 11 5 10
## 4 P2 7 9 9 8 11 7
## 7 P3 13 6 15 5 17 4
## 10 P4 19 3 21 2 23 1
3.20 Latihan 8
Ubahlah struktur rancobWide menjadi dataRancob
3.21 Jawaban 8
## perlakuan kelompok respon.1 baru.1
## P1.1 P1 1 1 12
## P2.1 P2 1 7 9
## P3.1 P3 1 13 6
## P4.1 P4 1 19 3
## P1.2 P1 2 3 11
## P2.2 P2 2 9 8
## P3.2 P3 2 15 5
## P4.2 P4 2 21 2
## P1.3 P1 3 5 10
## P2.3 P2 3 11 7
## P3.3 P3 3 17 4
## P4.3 P4 3 23 1
3.22 Latihan 9
Buatlah kolom baru yang bernama kode pada dataRancob. Isi dari kolom kode tersebut didapat dari hasil recoding jika respon<15 maka kode bernilai 1 dan jika respon>=15 maka kode bernilai 0.
3.23 Jawaban 9
#cara 1
dataRancob9 <- dataRancob
dataRancob9$kode <- 0*(dataRancob9$respon>=15) +
1*(dataRancob9$respon<15)
dataRancob9
## perlakuan kelompok respon baru kode
## 1 P1 1 1 12 1
## 2 P1 2 3 11 1
## 3 P1 3 5 10 1
## 4 P2 1 7 9 1
## 5 P2 2 9 8 1
## 6 P2 3 11 7 1
## 7 P3 1 13 6 1
## 8 P3 2 15 5 0
## 9 P3 3 17 4 0
## 10 P4 1 19 3 0
## 11 P4 2 21 2 0
## 12 P4 3 23 1 0
3.24 Jawaban 9
## perlakuan kelompok respon baru kode
## 1 P1 1 1 12 1
## 2 P1 2 3 11 1
## 3 P1 3 5 10 1
## 4 P2 1 7 9 1
## 5 P2 2 9 8 1
## 6 P2 3 11 7 1
## 7 P3 1 13 6 1
## 8 P3 2 15 5 0
## 9 P3 3 17 4 0
## 10 P4 1 19 3 0
## 11 P4 2 21 2 0
## 12 P4 3 23 1 0
3.25 Latihan 10
Misalkan kita memiliki dua data yaitu data
- Data pengarang buku
## nama.pengarang kebangsaan meninggal
## 1 Tukey US ya
## 2 Venables Australia tidak
## 3 Tierney US tidak
## 4 Ripley UK tidak
## 5 McNeil Australia tidak
3.26 Latihan 10
- Data Judul buku
## nama judul.buku
## 1 Tukey Exploratory Data Analysis
## 2 Venables Modern Applied Statistics
## 3 Tierney LISP-STAT
## 4 Ripley Spatial Statistics
## 5 Ripley Stochastic Simulation
## 6 McNeil Interactive Data Analysis
## 7 R Core An Introduction to R
Berilah nama Data pengarang buku dengan author
dan data judul buku dengan books
. Gabungkanlah kedua data tersebut berdasarkan nama pengarang
3.27 Jawaban 10
## nama.pengarang kebangsaan meninggal judul.buku
## 1 McNeil Australia tidak Interactive Data Analysis
## 2 Ripley UK tidak Spatial Statistics
## 3 Ripley UK tidak Stochastic Simulation
## 4 Tierney US tidak LISP-STAT
## 5 Tukey US ya Exploratory Data Analysis
## 6 Venables Australia tidak Modern Applied Statistics