Latihan 1 Ketikkan perintah di bawah ini dan berikan pernyataan apa saja yang dapat kalian peroleh dari perintah tersebut!
nama_vector <- c(5, FALSE, "true", "8.3", "Statistika")
nama_vector
## [1] "5" "FALSE" "true" "8.3" "Statistika"
Ketika menggabungkan berbagai tipe data dalam satu vektor, R melakukan coercion (konversi paksa) ke tipe yang paling umum. Karena ada elemen bertipe karakter (“true”, “8.3”, “Statistika”), semua elemen dikonversi menjadi karakter, termasuk angka 5 dan logika FALSE. Artinya, vektor hanya dapat menyimpan satu tipe data secara seragam.
Latihan 2 Buatlah List dengan nama contoh_list yang memiliki elemen sama dengan Latihan no.1, dan panggil seluruh elemen. Berikan perbedaan list dan vector yang dapat kalian peroleh.
contoh_list <- list(5, FALSE, "true", "8.3", "Statistika")
contoh_list
## [[1]]
## [1] 5
##
## [[2]]
## [1] FALSE
##
## [[3]]
## [1] "true"
##
## [[4]]
## [1] "8.3"
##
## [[5]]
## [1] "Statistika"
Berbeda dengan vektor, list mempertahankan tipe data asli tiap elemennya tanpa melakukan coercion. Vektor memaksa semua elemen menjadi satu tipe data yang sama, sedangkan list dapat menampung berbagai tipe data (numerik, logika, karakter) secara bersamaan dalam satu objek.
Latihan 3 Buatlah data frame dengan nama kelompok_kkn berupa tabel tiga kolom: nama, nim, dan prodi. Isikan minimal 10 baris. Lakukan eksperimen pemanggilan isi tabel meliputi pemanggilan baris, kolom, dan elemen tabel.
kelompok_kkn <- data.frame(
nama = c("ghani", "gogon", "iqbal", "rama", "sinta",
"andra", "widia", "budi", "gugups", "gutawa"),
nim = c("001", "002", "003", "004", "005",
"006", "007", "008", "009", "010"),
prodi = c("Statistika", "Matematika", "Statistika", "Informatika", "Statistika",
"Matematika", "Informatika", "Statistika", "Matematika", "Informatika")
)
kelompok_kkn
## nama nim prodi
## 1 ghani 001 Statistika
## 2 gogon 002 Matematika
## 3 iqbal 003 Statistika
## 4 rama 004 Informatika
## 5 sinta 005 Statistika
## 6 andra 006 Matematika
## 7 widia 007 Informatika
## 8 budi 008 Statistika
## 9 gugups 009 Matematika
## 10 gutawa 010 Informatika
memnaggil baris pertama
kelompok_kkn[1, ]
## nama nim prodi
## 1 ghani 001 Statistika
memanggil kolom prodi
kelompok_kkn[, "prodi"]
## [1] "Statistika" "Matematika" "Statistika" "Informatika" "Statistika"
## [6] "Matematika" "Informatika" "Statistika" "Matematika" "Informatika"
memanggil elemen baris 3 kolom 2
kelompok_kkn[3, 2]
## [1] "003"
memanggil kolom nama menggunakan operator $
kelompok_kkn$nama
## [1] "ghani" "gogon" "iqbal" "rama" "sinta" "andra" "widia" "budi"
## [9] "gugups" "gutawa"
Pemanggilan data frame dapat dilakukan dengan tiga cara: menggunakan indeks baris [baris, ] untuk mengambil seluruh baris tertentu, indeks atau nama kolom [, kolom] maupun $nama_kolom untuk mengambil seluruh kolom tertentu, dan kombinasi keduanya [baris, kolom] untuk mengakses elemen pada posisi spesifik.
Latihan 4 Buatlah data frame yang beberapa datanya berupa missing value. Carilah letak atau posisi data yang berupa missing value tersebut dengan menggunakan perintah is.na.
data_mv <- data.frame(
nama = c("rama", "sinta", "andra", "widia", "budi"),
nilai = c(80, NA, 75, NA, 90),
usia = c(20, 21, NA, 22, 20)
)
data_mv
## nama nilai usia
## 1 rama 80 20
## 2 sinta NA 21
## 3 andra 75 NA
## 4 widia NA 22
## 5 budi 90 20
is.na(data_mv)
## nama nilai usia
## [1,] FALSE FALSE FALSE
## [2,] FALSE TRUE FALSE
## [3,] FALSE FALSE TRUE
## [4,] FALSE TRUE FALSE
## [5,] FALSE FALSE FALSE
which(is.na(data_mv), arr.ind = TRUE)
## row col
## [1,] 2 2
## [2,] 4 2
## [3,] 3 3
Fungsi is.na() mengembalikan matriks logika yang menunjukkan posisi missing value dengan nilai TRUE. Dari output terlihat bahwa nilai NA terdapat pada kolom nilai baris 2 dan 4, serta kolom usia baris 3. Fungsi which(…, arr.ind = TRUE) memberikan informasi baris dan kolom secara tepat di mana setiap missing value berada.