nama_vector <- c(5, FALSE, "true", "8.3", "Statistika")
nama_vector
## [1] "5" "FALSE" "true" "8.3" "Statistika"
Fungsi c() (combine) di R digunakan untuk membentuk atomic vector.
Sifat utama atomic vector adalah: Semua elemen harus memiliki tipe data yang sama (homogen)
5 → numeric
FALSE → logical
“true” → character
“8.3” → character
“Statistika” → character
Karena terdapat elemen bertipe character, maka R akan melakukan type coercion otomatis ke tipe data yang paling “tinggi” dalam hierarki coercion
nama_vector adalah atomic vector bertipe character
Semua elemen mengalami implicit coercion ke character
Nilai numerik 5 dan logical FALSE berubah menjadi string
Panjang vector adalah 5 (length(nama_vector) = 5)
Vector bersifat satu dimensi dan homogen
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"
Homogenitas vektor harus 1 tipe, jika list bisa berbeda tipe
Coercion vektor tejadi otomatis, sedangkan list tidak terjadi
Struktur vektor itu Atomic, sedangkan list Recursive
Akses elemen vektor menggunakan [] sedangkan list menggunakan [] dan [[]]
Fleksibilitas vektor terbatas, sedangkan list sangat fleksibel
Vector memaksakan homogenitas tipe data.
List mempertahankan tipe asli tiap elemen.
List lebih tepat untuk struktur kompleks (misalnya model, data frame, nested object).
Vector lebih efisien untuk komputasi numerik.
Kelompok_Project <- data.frame(
Nama = c("Afiq","Deswa","Wafi","Dewi","Key","Syakila","Naufal","Zahrul","Hanif","Refa"),
NIM = c(101,102,103,104,105,106,107,108,109,110),
Prodi = c("Staterkom","SSD","Staterkom","PGSD",
"Kedokteran","Agroteknologi","Staterkom","Pend Kimia",
"Farmasi","Teknik Sipil")
)
Kelompok_Project
## Nama NIM Prodi
## 1 Afiq 101 Staterkom
## 2 Deswa 102 SSD
## 3 Wafi 103 Staterkom
## 4 Dewi 104 PGSD
## 5 Key 105 Kedokteran
## 6 Syakila 106 Agroteknologi
## 7 Naufal 107 Staterkom
## 8 Zahrul 108 Pend Kimia
## 9 Hanif 109 Farmasi
## 10 Refa 110 Teknik Sipil
Kelompok_Project <- data.frame(
Nama = c("Afiq","Deswa","Wafi","Dewi","Key","Syakila","Naufal","Zahrul","Hanif","Refa"),
NIM = c(101,102,103,104,105,106,107,108,109,110),
Prodi = c("Staterkom","SSD","Staterkom","PGSD",
"Kedokteran","Agroteknologi","Staterkom","Pend Kimia",
"Farmasi","Teknik Sipil")
)
Kelompok_Project[1, ]
## Nama NIM Prodi
## 1 Afiq 101 Staterkom
Kelompok_Project <- data.frame(
Nama = c("Afiq","Deswa","Wafi","Dewi","Key","Syakila","Naufal","Zahrul","Hanif","Refa"),
NIM = c(101,102,103,104,105,106,107,108,109,110),
Prodi = c("Staterkom","SSD","Staterkom","PGSD",
"Kedokteran","Agroteknologi","Staterkom","Pend Kimia",
"Farmasi","Teknik Sipil")
)
Kelompok_Project[ , 3]
## [1] "Staterkom" "SSD" "Staterkom" "PGSD"
## [5] "Kedokteran" "Agroteknologi" "Staterkom" "Pend Kimia"
## [9] "Farmasi" "Teknik Sipil"
Kelompok_Project <- data.frame(
Nama = c("Afiq","Deswa","Wafi","Dewi","Key","Syakila","Naufal","Zahrul","Hanif","Refa"),
NIM = c(101,102,103,104,105,106,107,108,109,110),
Prodi = c("Staterkom","SSD","Staterkom","PGSD",
"Kedokteran","Agroteknologi","Staterkom","Pend Kimia",
"Farmasi","Teknik Sipil")
)
Kelompok_Project[ , "Nama"]
## [1] "Afiq" "Deswa" "Wafi" "Dewi" "Key" "Syakila" "Naufal"
## [8] "Zahrul" "Hanif" "Refa"
Kelompok_Project <- data.frame(
Nama = c("Afiq","Deswa","Wafi","Dewi","Key","Syakila","Naufal","Zahrul","Hanif","Refa"),
NIM = c(101,102,103,104,105,106,107,108,109,110),
Prodi = c("Staterkom","SSD","Staterkom","PGSD",
"Kedokteran","Agroteknologi","Staterkom","Pend Kimia",
"Farmasi","Teknik Sipil")
)
Kelompok_Project[6, 1]
## [1] "Syakila"
data_missing <- data.frame(
Nama = c("Nadiyya","Refa", NA, "Olive","Syakila"),
NilaiAkhir = c(89, NA, 83, 87, 99),
ProgramStudi = c("Farmasi","Teknik Sipil","Akuntansi", NA, "Agroteknologi")
)
is.na(data_missing)
## Nama NilaiAkhir ProgramStudi
## [1,] FALSE FALSE FALSE
## [2,] FALSE TRUE FALSE
## [3,] TRUE FALSE FALSE
## [4,] FALSE FALSE TRUE
## [5,] FALSE FALSE FALSE
data_missing <- data.frame(
Nama = c("Nadiyya","Refa", NA, "Olive","Syakila"),
NilaiAkhir = c(89, NA, 83, 87, 99),
ProgramStudi = c("Farmasi","Teknik Sipil","Akuntansi", NA, "Agroteknologi")
)
which(is.na(data_missing), arr.ind = TRUE)
## row col
## [1,] 3 1
## [2,] 2 2
## [3,] 4 3
data_missing <- data.frame(
Nama = c("Nadiyya","Refa", NA, "Olive","Syakila"),
NilaiAkhir = c(89, NA, 83, 87, 99),
ProgramStudi = c("Farmasi","Teknik Sipil","Akuntansi", NA, "Agroteknologi")
)
sum(is.na(data_missing))
## [1] 3
NA adalah representasi missing value dalam R.
is.na() mengembalikan nilai logika.
Missing value berbeda dengan string kosong ““.
Operasi aritmatika dengan NA menghasilkan NA kecuali ditangani dengan na.rm = TRUE.