Latihan 1
nama_vector <- c(5,FALSE, "true","8.3","statistik")
nama_vector
## [1] "5" "FALSE" "true" "8.3" "statistik"
Jawab: semua perintah yang dijalankan dalam nama vector berubah menjadi tipe character dibuktikan dengan syntax dibawah ini
typeof(nama_vector)
## [1] "character"
sehingga Pernyataan yang dapat diperoleh: 1.Fungsi c() digunakan untuk membuat sebuah vector. 2.Vector di R hanya dapat memiliki satu tipe data yang sama. 3.Karena terdapat elemen bertipe character (“true”, “8.3”, “Statistika”), maka R melakukan konversi otomatis (coercion). 4.Akibatnya seluruh elemen (termasuk angka 5 dan FALSE) dikonversi menjadi character. 5.Tipe data akhir dari nama_vector adalah character.
contoh_list <- list(5,FALSE,"true","8.3","statistik")
contoh_list
## [[1]]
## [1] 5
##
## [[2]]
## [1] FALSE
##
## [[3]]
## [1] "true"
##
## [[4]]
## [1] "8.3"
##
## [[5]]
## [1] "statistik"
Jawab: semua data lebih memilih untuk mempertahankan tipe dari datanya masing masing
typeof(contoh_list[[1]])
## [1] "double"
typeof(contoh_list[[2]])
## [1] "logical"
typeof(contoh_list[[3]])
## [1] "character"
sehingga pernyataan yang didapatkan: 1.Fungsi list() digunakan untuk membuat list. 2.list dapat menyimpan elemen dengan tipe data yang berbeda-beda. 3.Tidak terjadi konversi tipe data otomatis. 4.Setiap elemen tetap sesuai tipe aslinya (numeric, logical, atau character). kesimpulannya: Perbedaan antara vector dan list dalam R terletak pada tipe data yang dapat disimpan di dalamnya. Vector merupakan struktur data yang bersifat homogen, artinya seluruh elemen di dalam vector harus memiliki tipe data yang sama. Jika dalam satu vector terdapat beberapa tipe data yang berbeda, maka R akan melakukan konversi otomatis (coercion) ke satu tipe data yang dianggap paling dominan, biasanya menjadi character. Berbeda dengan vector, list merupakan struktur data yang bersifat heterogen, sehingga dapat menyimpan berbagai tipe data dalam satu objek tanpa mengubah tipe data aslinya. Setiap elemen dalam list tetap mempertahankan tipe datanya masing-masing, baik numeric, logical, maupun character. Oleh karena itu, vector lebih sederhana dan cocok untuk data yang sejenis, sedangkan list lebih fleksibel dan digunakan ketika ingin menyimpan data dengan tipe yang berbeda-beda dalam satu variabel.
Kelompok_kkn <- data.frame(
nama = c("Zufan","Aska","Hanif","Deswa","Rida",
"Zahrul","Lani","Hafiz","Iqbal","Kirana"),
nim = c(1,2,3,4,5,6,7,8,9,10),
Prodi = c("Informatika","Manajemen","Akuntansi","Hukum","Statistika",
"Manajemen","Statistika","Hukum","Kedokteran","Akuntansi")
)
Kelompok_kkn
## nama nim Prodi
## 1 Zufan 1 Informatika
## 2 Aska 2 Manajemen
## 3 Hanif 3 Akuntansi
## 4 Deswa 4 Hukum
## 5 Rida 5 Statistika
## 6 Zahrul 6 Manajemen
## 7 Lani 7 Statistika
## 8 Hafiz 8 Hukum
## 9 Iqbal 9 Kedokteran
## 10 Kirana 10 Akuntansi
Kelompok_kkn[1,]
## nama nim Prodi
## 1 Zufan 1 Informatika
Kelompok_kkn[8,]
## nama nim Prodi
## 8 Hafiz 8 Hukum
Kelompok_kkn[,1]
## [1] "Zufan" "Aska" "Hanif" "Deswa" "Rida" "Zahrul" "Lani" "Hafiz"
## [9] "Iqbal" "Kirana"
Kelompok_kkn[,"Prodi"]
## [1] "Informatika" "Manajemen" "Akuntansi" "Hukum" "Statistika"
## [6] "Manajemen" "Statistika" "Hukum" "Kedokteran" "Akuntansi"
c.memanggil elemen tertentu
Kelompok_kkn[1,3]
## [1] "Informatika"
Jawab ; Data frame Kelompok_kkn dibuat dengan tiga kolom yaitu nama, nim, dan Prodi serta berisi 10 baris data. Dalam eksperimen pemanggilan data, digunakan beberapa cara dengan format [baris, kolom]. Pada pemanggilan baris menggunakan Kelompok_kkn[1,] dan Kelompok_kkn[8,], angka sebelum koma menunjukkan nomor baris yang diambil, sedangkan bagian setelah koma dikosongkan sehingga seluruh kolom pada baris tersebut ditampilkan. Pada pemanggilan kolom menggunakan Kelompok_kkn[,1] dan Kelompok_kkn[,“Prodi”], bagian sebelum koma dikosongkan sehingga seluruh baris ditampilkan, sedangkan angka atau nama setelah koma menunjukkan kolom yang dipilih, yang berarti kolom dapat dipanggil berdasarkan nomor indeks maupun nama kolom. Selanjutnya, pemanggilan elemen tertentu menggunakan Kelompok_kkn[1,3] menampilkan satu nilai spesifik pada baris pertama kolom ketiga. Dengan demikian, perbedaan cara pemanggilan dalam data frame terletak pada posisi indeks yang diisi, di mana indeks sebelum koma menunjukkan baris, indeks setelah koma menunjukkan kolom, dan jika keduanya diisi maka akan menampilkan satu elemen tertentu.
data_na <- data.frame(
nama = c("Fara","Trista",NA,"Nadia","Tina"),
nilai = c(80, NA, 75, 90, NA),
prodi = c("Statistika","Informatika","Manajemen",NA,"Statistika")
)
data_na
## nama nilai prodi
## 1 Fara 80 Statistika
## 2 Trista NA Informatika
## 3 <NA> 75 Manajemen
## 4 Nadia 90 <NA>
## 5 Tina NA Statistika
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
which(is.na(data_na), arr.ind = TRUE)
## row col
## [1,] 3 1
## [2,] 2 2
## [3,] 5 2
## [4,] 4 3
Jawab: Data frame data_na dibuat dengan beberapa nilai yang sengaja dikosongkan menggunakan simbol NA sebagai penanda missing value. Untuk mengetahui keberadaan data yang hilang tersebut digunakan fungsi is.na(data_na) yang menghasilkan nilai TRUE pada posisi yang mengandung NA dan FALSE pada data yang tidak kosong. Selanjutnya, untuk mengetahui letak atau posisi pasti dari missing value tersebut digunakan perintah which(is.na(data_na), arr.ind = TRUE) yang menampilkan nomor baris dan kolom tempat NA berada. Dengan demikian, fungsi is.na() digunakan untuk mendeteksi keberadaan missing value, sedangkan fungsi which() dengan argumen arr.ind = TRUE digunakan untuk mengetahui posisi tepat dari data yang hilang dalam data frame.