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.
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.
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("Haffiz", "Rizki", "Ramadhan", "Andi", "Budi",
"Citra", "Dewi", "Eka", "Fajar", "Gita"),
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 # Memanggil seluruh tabel
## nama nim prodi
## 1 Haffiz 001 Statistika
## 2 Rizki 002 Matematika
## 3 Ramadhan 003 Statistika
## 4 Andi 004 Informatika
## 5 Budi 005 Statistika
## 6 Citra 006 Matematika
## 7 Dewi 007 Informatika
## 8 Eka 008 Statistika
## 9 Fajar 009 Matematika
## 10 Gita 010 Informatika
kelompok_kkn[1, ] # Memanggil baris pertama
## nama nim prodi
## 1 Haffiz 001 Statistika
kelompok_kkn[, "prodi"] # Memanggil kolom prodi
## [1] "Statistika" "Matematika" "Statistika" "Informatika" "Statistika"
## [6] "Matematika" "Informatika" "Statistika" "Matematika" "Informatika"
kelompok_kkn[3, 2] # Memanggil elemen baris 3 kolom 2
## [1] "003"
kelompok_kkn$nama # Memanggil kolom nama menggunakan operator $
## [1] "Haffiz" "Rizki" "Ramadhan" "Andi" "Budi" "Citra"
## [7] "Dewi" "Eka" "Fajar" "Gita"
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.
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("Andi", "Budi", "Citra", "Dewi", "Eka"),
nilai = c(80, NA, 75, NA, 90),
usia = c(20, 21, NA, 22, 20)
)
data_mv
## nama nilai usia
## 1 Andi 80 20
## 2 Budi NA 21
## 3 Citra 75 NA
## 4 Dewi NA 22
## 5 Eka 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.