No.1

nama_vector <-c(5,FALSE,"true","8.3","Statistika")
nama_vector
## [1] "5"          "FALSE"      "true"       "8.3"        "Statistika"

berdasarkan output yang dihasilkan, seluruh elemen berubah menjadi character, padahal seharusnya : 5 → numeric FALSE → logical “true” → string “8.3” → string “Statistika” → string Jadi, dapat disimpulkan bahwa Vector di R hanya boleh memiliki satu tipe data yang sama. Jika tipe berbeda digabung, R akan melakukan coercion (konversi otomatis) ke tipe yang paling fleksibel, yaitu string.

No. 2

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"

Untuk Vector : 1.Semua elemen harus satu tipe data 2.Mengalami coercion otomatis
3.Struktur lebih sederhana

Sedangkan untuk List : 1.Bisa menyimpan berbagai tipe data 2.Tidak mengalami coercion 3.Lebih fleksibel

No. 3

kelompok_kkn <- data.frame(
Nama = c("Andi","Budi","Desmiwa","Azhar","Eka","Devi","Gina","Mail","Indra","Fizi"),
NIM = c(2300,2301,2302,2303,2304,2305,2306,2307,2308,2309),
Prodi = c("Statistika","Informatika","Statistika","Matematika","Statistika","Informatika","Matematika","Statistika","Informatika","Matematika")
)
kelompok_kkn
##       Nama  NIM       Prodi
## 1     Andi 2300  Statistika
## 2     Budi 2301 Informatika
## 3  Desmiwa 2302  Statistika
## 4    Azhar 2303  Matematika
## 5      Eka 2304  Statistika
## 6     Devi 2305 Informatika
## 7     Gina 2306  Matematika
## 8     Mail 2307  Statistika
## 9    Indra 2308 Informatika
## 10    Fizi 2309  Matematika

a) Pemanggilan baris

kelompok_kkn[1,]        # [index_baris, ]
##   Nama  NIM      Prodi
## 1 Andi 2300 Statistika
kelompok_kkn[1:3,]      # Baris 1 sampai 3
##      Nama  NIM       Prodi
## 1    Andi 2300  Statistika
## 2    Budi 2301 Informatika
## 3 Desmiwa 2302  Statistika

b) Pemanggilan kolom

#pemanggilan dengan $ (Nama) : 
kelompok_kkn$Nama       #$nama_kolom
##  [1] "Andi"    "Budi"    "Desmiwa" "Azhar"   "Eka"     "Devi"    "Gina"   
##  [8] "Mail"    "Indra"   "Fizi"
#pemanggilan dengan index kolom (kolom ke-2) : 
kelompok_kkn[,2]        #[ ,index_kolom]
##  [1] 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309
#pemanggilan dengan nama kolom (prodi) :
kelompok_kkn[,"Prodi"]  #[ , "nama_kolom"]
##  [1] "Statistika"  "Informatika" "Statistika"  "Matematika"  "Statistika" 
##  [6] "Informatika" "Matematika"  "Statistika"  "Informatika" "Matematika"

c) Pemanggilan Elemen Tabel

kelompok_kkn[2,3]       #baris,kolom
## [1] "Informatika"

Penjelasan Perbedaan Cara Pemanggilan: 1. [baris, kolom] Digunakan untuk mengambil bagian tertentu berdasarkan posisi index. 2. $nama_kolom Digunakan untuk mengambil satu kolom berdasarkan nama kolom. 3. [,index_kolom] Mengambil kolom berdasarkan urutan kolom.

Perbedaannya: 1. $ hanya bisa digunakan untuk kolom. 2. [ , ] lebih fleksibel karena bisa memilih baris dan kolom sekaligus. 3. Pemanggilan dengan index menggunakan angka. 4. Pemanggilan dengan nama menggunakan nama kolom.

No. 4

#data missing
data_missing <- data.frame(
  nama = c("Tarmin","Sibud",NA,"Diwa","Eka"),
  nilai = c(80, NA, 75, 90, NA)
)
data_missing
##     nama nilai
## 1 Tarmin    80
## 2  Sibud    NA
## 3   <NA>    75
## 4   Diwa    90
## 5    Eka    NA
#mencari letak missing value
is.na(data_missing)
##       nama nilai
## [1,] FALSE FALSE
## [2,] FALSE  TRUE
## [3,]  TRUE FALSE
## [4,] FALSE FALSE
## [5,] FALSE  TRUE
#untuk mengetahui posisi NA
which(is.na(data_missing), arr.ind = TRUE)
##      row col
## [1,]   3   1
## [2,]   2   2
## [3,]   5   2
#Artinya missing value berada di posisi : Baris 3 kolom 1, Baris 2 kolom 2, Baris 5 kolom 2, Baris 4 kolom 3")

Output “True” menyatakan missing value nya.