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("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.

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("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.