nama_vector <- c(5,FALSE,"true","8.3","Statistika")
nama_vector
## [1] "5" "FALSE" "true" "8.3" "Statistika"
Penjelasan:
Sifat Homogen: Vector di R hanya bisa menyimpan satu tipe data yang sama.
Automatic Coercion: Karena terdapat data bertipe character (teks), elemen lain seperti angka 5 dan logical FALSE otomatis dipaksa menjadi character.
Tanda Bukti: Adanya tanda petik (” “) pada semua elemen di output menunjukkan bahwa semuanya kini berstatus sebagai teks.
Hierarki: Dalam R, tipe character memiliki hierarki tertinggi; jika tercampur, maka tipe data lain akan “mengalah” dan berubah menjadi character.
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"
Penjelasan:
Sifat Heterogen: Berbeda dengan vector, List dapat menyimpan berbagai tipe data sekaligus tanpa mengubah tipe aslinya.
Mempertahankan Tipe Data: Pada output list, angka 5 tetap numerik dan FALSE tetap logical (tidak ada tanda petik). Sedangkan pada vector, semuanya dipaksa menjadi character.
Struktur Indeks: List menggunakan indeks ganda [[ ]] untuk memisahkan setiap elemen secara individual, sementara vector menampilkan semua elemen dalam satu baris datar [1].
Kesimpulan Perbedaan:
Vector: Satu dimensi dan harus homogen (tipe data sama).
List: Koleksi data yang bisa heterogen (tipe data berbeda-beda dalam satu wadah).
kelompok_kkn <- data.frame(
nama = c("Andi Pratama",
"Siti Rahma",
"Budi Santoso",
"Citra Lestari",
"Dimas Saputra",
"Rina Oktavia",
"Fajar Nugraha",
"Nadia Putri",
"Rizky Maulana",
"Intan Permata"),
nim = c(2404010024,
2404020011,
2404030007,
2404040015,
2404050020,
2404010033,
2404020028,
2404030019,
2404040004,
2404050012),
prodi = c("Statistika Terapan",
"Matematika",
"Teknik Informatika",
"Sistem Informasi",
"Ilmu Komputer",
"Statistika Terapan",
"Teknik Informatika",
"Matematika",
"Sistem Informasi",
"Ilmu Komputer")
)
kelompok_kkn
## nama nim prodi
## 1 Andi Pratama 2404010024 Statistika Terapan
## 2 Siti Rahma 2404020011 Matematika
## 3 Budi Santoso 2404030007 Teknik Informatika
## 4 Citra Lestari 2404040015 Sistem Informasi
## 5 Dimas Saputra 2404050020 Ilmu Komputer
## 6 Rina Oktavia 2404010033 Statistika Terapan
## 7 Fajar Nugraha 2404020028 Teknik Informatika
## 8 Nadia Putri 2404030019 Matematika
## 9 Rizky Maulana 2404040004 Sistem Informasi
## 10 Intan Permata 2404050012 Ilmu Komputer
Data frame kelompok_kkn ini menggabungkan sifat Vector (tipe data tiap kolom harus sama) dan List (tipe data antar kolom boleh berbeda). Jika ingin memanggil data secara spesifik bisa menggunakan koordinat [baris, kolom] atau menggunakan operator $ untuk mengambil satu kolom penuh.
kelompok_kkn[4,]
## nama nim prodi
## 4 Citra Lestari 2404040015 Sistem Informasi
Penggunaan indeks tunggal di depan koma, seperti pada perintah kelompok_kkn[4, ], berfungsi untuk mengekstrak seluruh informasi dari satu baris spesifik. Hasil pemanggilan ini tetap mempertahankan format Data Frame.
kelompok_kkn[1:3,]
## nama nim prodi
## 1 Andi Pratama 2404010024 Statistika Terapan
## 2 Siti Rahma 2404020011 Matematika
## 3 Budi Santoso 2404030007 Teknik Informatika
Penggunaan operator colon dalam indeks baris, misalnya [1:3, ], memungkinkan pengambilan potongan data (subset) dalam jumlah banyak secara berurutan. Teknik ini memberikan efisiensi dalam memfilter kelompok observasi tertentu.
kelompok_kkn[,3]
## [1] "Statistika Terapan" "Matematika" "Teknik Informatika"
## [4] "Sistem Informasi" "Ilmu Komputer" "Statistika Terapan"
## [7] "Teknik Informatika" "Matematika" "Sistem Informasi"
## [10] "Ilmu Komputer"
Penggunaan indeks setelah tanda koma seperti [, 3] berfungsi untuk mengambil data secara vertikal. Operasi ini mengekstrak seluruh data pada kolom tersebut dan secara otomatis mengubah formatnya dari Data Frame menjadi Vector (karakter).
kelompok_kkn$nama
## [1] "Andi Pratama" "Siti Rahma" "Budi Santoso" "Citra Lestari"
## [5] "Dimas Saputra" "Rina Oktavia" "Fajar Nugraha" "Nadia Putri"
## [9] "Rizky Maulana" "Intan Permata"
Perintah kelompok_kkn$nama digunakan untuk mengakses sebuah kolom secara spesifik berdasarkan nama variabel yang telah didefinisikan dalam Data Frame. Penggunaan operator dollar ini memberikan hasil yang serupa dengan pemanggilan indeks kolom, yaitu mengekstrak seluruh data pada kolom tersebut ke dalam format Vector.
kelompok_kkn[,"nim"]
## [1] 2404010024 2404020011 2404030007 2404040015 2404050020 2404010033
## [7] 2404020028 2404030019 2404040004 2404050012
Perintah kelompok_kkn[, “nim”] merupakan metode pemanggilan kolom dengan memasukkan nama variabel di dalam kurung siku setelah tanda koma. Secara operasional, perintah ini menginstruksikan R untuk mengabaikan filter baris (kosong sebelum koma) dan mengekstrak seluruh data pada kolom yang memiliki identitas “nim”.
kelompok_kkn[2,3]
## [1] "Matematika"
Perintah kelompok_kkn[2, 3] digunakan untuk mengakses satu nilai atau elemen spesifik pada koordinat tertentu di dalam Data Frame. Angka pertama (2) merujuk pada baris kedua, sedangkan angka kedua (3) merujuk pada kolom ketiga. Hasil output menunjukkan nilai “Matematika”, yang merupakan data program studi untuk observasi pada baris tersebut.
data_na <- data.frame(
nama = c("Andi Pratama",
"Siti Rahma",
"Budi Santoso",
NA,
"Dimas Saputra",
"Rina Oktavia",
"Fajar Nugraha",
"Nadia Putri",
NA,
"Intan Permata"),
nim = c(2404010024,
2404020011,
NA,
2404040015,
2404050020,
NA,
2404020028,
2404030019,
2404040004,
2404050012),
prodi = c("Statistika Terapan",
"Matematika",
"Teknik Informatika",
"Sistem Informasi",
NA,
"Statistika Terapan",
"Teknik Informatika",
NA,
"Sistem Informasi",
"Ilmu Komputer")
)
data_na
## nama nim prodi
## 1 Andi Pratama 2404010024 Statistika Terapan
## 2 Siti Rahma 2404020011 Matematika
## 3 Budi Santoso NA Teknik Informatika
## 4 <NA> 2404040015 Sistem Informasi
## 5 Dimas Saputra 2404050020 <NA>
## 6 Rina Oktavia NA Statistika Terapan
## 7 Fajar Nugraha 2404020028 Teknik Informatika
## 8 Nadia Putri 2404030019 <NA>
## 9 <NA> 2404040004 Sistem Informasi
## 10 Intan Permata 2404050012 Ilmu Komputer
Tahap ini menunjukkan pembuatan Data Frame data_na yang sengaja memuat nilai kosong atau missing value. Dalam bahasa pemrograman R, ketidaktersediaan data direpresentasikan secara standar menggunakan simbol NA (Not Available).
is.na(data_na)
## nama nim prodi
## [1,] FALSE FALSE FALSE
## [2,] FALSE FALSE FALSE
## [3,] FALSE TRUE FALSE
## [4,] TRUE FALSE FALSE
## [5,] FALSE FALSE TRUE
## [6,] FALSE TRUE FALSE
## [7,] FALSE FALSE FALSE
## [8,] FALSE FALSE TRUE
## [9,] TRUE FALSE FALSE
## [10,] FALSE FALSE FALSE
Penggunaan fungsi is.na(data_na) menghasilkan matriks logika yang memetakan seluruh dimensi tabel. Output ini memberikan informasi biner: nilai TRUE mengonfirmasi keberadaan data yang kosong pada sel tersebut, sementara nilai FALSE menunjukkan bahwa sel memiliki data yang valid.
which(is.na(data_na), arr.ind = TRUE)
## row col
## [1,] 4 1
## [2,] 9 1
## [3,] 3 2
## [4,] 6 2
## [5,] 5 3
## [6,] 8 3
Fungsi which(is.na(data_na), arr.ind = TRUE) digunakan untuk mentransformasikan matriks logika menjadi daftar koordinat yang spesifik. Output ini secara sistematis merinci letak NA berdasarkan nomor baris (row) dan kolom (col), sehingga memudahkan identifikasi lokasi data yang hilang secara teknis tanpa perlu melakukan pemeriksaan visual pada seluruh tabel.