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"

Karena vector di R harus memiliki tipe data yang sama (satu tipe data), maka R akan melakukan coercion (konversi otomatis). Urutan prioritas tipe data di R adalah logical → numeric → character. Karena ‘Statistika’ adalah ‘character’, maka semua elemen akan berubah menjadi character.

  1. Cobalah untuk membuat 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 setelah melakukan perintah tersebut.
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"

Perbedaan List dan Vector adalah Vector itu hanya bisa memiliki 1 tipe data dan ada coercion atau konversi otitmatis dan dia juga lebih sederhana. Sedangkan List bisa memiliki tipe data yang berbeda-beda dan tidak ada coercion. Atau bisa dikatakan bahwa Vector itu homogen sedangkan List itu heterogen.

  1. Dalam melakukan pemanggilan elemen, kita dapat menggunakan index elemen atau nama kolom. Buatlah data frame dengan nama kelompok_kkn berupa tabel tiga kolom terdiri atas: nama,nim, dan prodi. Isikan minimal 10 baris. Lakukan eksperimen pemanggilan isi tabel, meliputi pemanggilan baris, kolom, dan elemen tabel. Jelaskan mengenai perbedaan cara pemanggilan dalam data frame tersebut.
kelompok_1 <- data.frame(
  Nama = c("Aska","Shabrina","Rida","Umi","Bio","Keyfa","Lana","Natan","Abi","Martin"),
  Nim = c(101,102,103,104,105,106,107,108,109,110),
  Prodi = c("Statistika","Hukum","Statistika","Matematika","Hukum",
            "Statistika","Matematika","Statistika","Hukum","Matematika")
)
kelompok_1
##        Nama Nim      Prodi
## 1      Aska 101 Statistika
## 2  Shabrina 102      Hukum
## 3      Rida 103 Statistika
## 4       Umi 104 Matematika
## 5       Bio 105      Hukum
## 6     Keyfa 106 Statistika
## 7      Lana 107 Matematika
## 8     Natan 108 Statistika
## 9       Abi 109      Hukum
## 10   Martin 110 Matematika

Contoh Pemanggilan Data a. Pemanggilan Baris

kelompok_1[1, ]
##   Nama Nim      Prodi
## 1 Aska 101 Statistika
  1. Pemanggilan Kolom
kelompok_1[, 1]
##  [1] "Aska"     "Shabrina" "Rida"     "Umi"      "Bio"      "Keyfa"   
##  [7] "Lana"     "Natan"    "Abi"      "Martin"
kelompok_1$Prodi
##  [1] "Statistika" "Hukum"      "Statistika" "Matematika" "Hukum"     
##  [6] "Statistika" "Matematika" "Statistika" "Hukum"      "Matematika"

Pemanggilan data dalam data frame dapat dilakukan dengan berbagai cara, baik berdasarkan indeks maupun nama kolom, sehingga memudahkan proses pengolahan data.

  1. 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_na <- data.frame(
  Nama = c("Shabrina","Suci","Ansay",NA,"Happy"),
  Nilai = c(80, 75, NA, 90, 85)
)
data_na
##       Nama Nilai
## 1 Shabrina    80
## 2     Suci    75
## 3    Ansay    NA
## 4     <NA>    90
## 5    Happy    85

Mencari Missing value

is.na(data_na)
##       Nama Nilai
## [1,] FALSE FALSE
## [2,] FALSE FALSE
## [3,] FALSE  TRUE
## [4,]  TRUE FALSE
## [5,] FALSE FALSE

Mengetahui posisi NA

which(is.na(data_na), arr.ind = TRUE)
##      row col
## [1,]   4   1
## [2,]   3   2

Missing value (NA) menunjukkan bahwa suatu data tidak tersedia atau kosong. Fungsi is.na() digunakan untuk mendeteksi keberadaan nilai NA pada data. Nilai TRUE menunjukkan adanya missing value, sedangkan FALSE menunjukkan data tersedia. Untuk mengetahui posisi tepat dari missing value, digunakan fungsi which(…, arr.ind = TRUE) sehingga diperoleh indeks baris dan kolom tempat NA berada.