nama_vector <- c(5, FALSE, "true", 8.3, "Statistika")
nama_vector
## [1] "5" "FALSE" "true" "8.3" "Statistika"
Vector di R bersifat homogen, artinya hanya boleh memiliki satu tipe data. Karena di dalam vector terdapat data bertipe character (“true” dan “Statistika”), maka seluruh elemen akan dikonversi menjadi character.Hal ini disebut type coercion.
Urutan coercion di R adalah:
logical → numeric → character
Sehingga output yang dihasilkan adalah seluruh elemen menjadi karakter.
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"
##Temuan
Berbeda dengan vector, list bersifat heterogen, artinya dapat menyimpan berbagai tipe data tanpa mengubah tipe data aslinya.
Perbedaan utama vector dan list:
Vector: satu tipe data (homogen)
List: dapat berbagai tipe data (heterogen)
Vector melakukan coercion
List tidak melakukan coercion
#3. Data Frame
##syntax
data_mhs <- data.frame(
nama = c("key","wafi","zahrul","desmiwa","afiq",
"hanip","nopal","nabila","disa","zufan"),
nim = c(101,102,103,104,105,106,107,108,109,110),
prodi = c("Statistika","Statistika","Matematika","Statistika","Informatika",
"Statistika","Matematika","Informatika","Statistika","Matematika")
)
data_mhs
## nama nim prodi
## 1 key 101 Statistika
## 2 wafi 102 Statistika
## 3 zahrul 103 Matematika
## 4 desmiwa 104 Statistika
## 5 afiq 105 Informatika
## 6 hanip 106 Statistika
## 7 nopal 107 Matematika
## 8 nabila 108 Informatika
## 9 disa 109 Statistika
## 10 zufan 110 Matematika
##pemanggilan baris
data_mhs[1, ]
## nama nim prodi
## 1 key 101 Statistika
##pemangglan kolom
data_mhs[,1]
## [1] "key" "wafi" "zahrul" "desmiwa" "afiq" "hanip" "nopal"
## [8] "nabila" "disa" "zufan"
##pemanggilan baris dan kolom
data_mhs[1, c("nama","prodi")]
## nama prodi
## 1 key Statistika
##perbedaan pemanggilan Pada data frame data_mhs, pemanggilan data dilakukan dengan struktur umum [baris, kolom], di mana bagian sebelum koma menunjukkan baris dan bagian setelah koma menunjukkan kolom.
Pada syntax data_mhs[1, ], hanya bagian baris yang diisi, yaitu baris pertama, sedangkan bagian kolom dikosongkan. Artinya, R akan mengambil seluruh kolom yang terdapat pada baris pertama. Dengan kata lain, ini adalah pemanggilan satu baris secara lengkap.
Pada syntax data_mhs[,1], bagian baris dikosongkan dan bagian kolom diisi dengan angka 1. Ini berarti R akan mengambil seluruh baris pada kolom pertama. Karena menggunakan indeks numerik, kolom yang dipanggil bergantung pada urutan posisi kolom dalam data frame.
Sedangkan pada syntax data_mhs[1, c(“nama”,“prodi”)], baris pertama dipanggil dan kolom dipilih berdasarkan nama, yaitu nama dan prodi. Cara ini lebih spesifik karena tidak bergantung pada posisi kolom, melainkan langsung pada nama variabelnya.
Dengan demikian, perbedaan utama terletak pada bagian indeks yang diisi (baris, kolom, atau keduanya) serta cara penentuan kolom apakah menggunakan posisi numerik atau nama variabel.
##4. missing value
##syntax
data_na <- data.frame(
nama = c("Andi","Budi",NA,"Dina","Eko"),
nilai = c(80, NA, 75, 90, NA),
prodi = c("Statistika","Matematika","Statistika", NA, "Informatika")
)
data_na
## nama nilai prodi
## 1 Andi 80 Statistika
## 2 Budi NA Matematika
## 3 <NA> 75 Statistika
## 4 Dina 90 <NA>
## 5 Eko NA Informatika
##cek missing value
is.na(data_na)
## nama nilai prodi
## [1,] FALSE FALSE FALSE
## [2,] FALSE TRUE FALSE
## [3,] TRUE FALSE FALSE
## [4,] FALSE FALSE TRUE
## [5,] FALSE TRUE FALSE
##cek posisi missing value
which(is.na(data_na), arr.ind = TRUE)
## row col
## [1,] 3 1
## [2,] 2 2
## [3,] 5 2
## [4,] 4 3