Latihan 1

  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","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.

  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","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.

  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_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
  1. memanggil baris
Kelompok_kkn[1,]
##    nama nim       Prodi
## 1 Zufan   1 Informatika
Kelompok_kkn[8,]
##    nama nim Prodi
## 8 Hafiz   8 Hukum
  1. memanggil kolom
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.

  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("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.