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”,“Statistika”) nama_vector —————————————————–

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

R akan melakukan coercion (penyesuaian tipe data) agar semua elemen dalam vector memiliki tipe data yang sama. Karena ada string, maka semua elemen akan diubah menjadi karakter.

2. 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", "Statistika")
contoh_list
## [[1]]
## [1] 5
## 
## [[2]]
## [1] FALSE
## 
## [[3]]
## [1] "true"
## 
## [[4]]
## [1] "8.3"
## 
## [[5]]
## [1] "Statistika"

Perbedaan dengan vector: - Vector: Semua elemen disamakan tipenya. - List: Dapat menyimpan berbagai tipe data tanpa coercion (bisa campur numeric, logical, character).

3. 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.

# Buat data frame
kelompok_kkn <- data.frame(
  nama = c("Vina", "Dandra", "Hasna", "Rayhan", "Nasywa", "Fadil", "Fabel", "Dimas", "Elfa", "Davie"),
  nim = c("2201", "2202", "2203", "2204", "2205", "2206", "2207", "2208", "2209", "2210"),
  prodi = c("Statistika", "Biologi", "Kimia", "Fisika", "Statistika", "Biologi", "Kimia", "Fisika", "Statistika", "Biologi")
)

# Tampilkan data
print(kelompok_kkn)
##      nama  nim      prodi
## 1    Vina 2201 Statistika
## 2  Dandra 2202    Biologi
## 3   Hasna 2203      Kimia
## 4  Rayhan 2204     Fisika
## 5  Nasywa 2205 Statistika
## 6   Fadil 2206    Biologi
## 7   Fabel 2207      Kimia
## 8   Dimas 2208     Fisika
## 9    Elfa 2209 Statistika
## 10  Davie 2210    Biologi
# Eksperimen pemanggilan
kelompok_kkn[1, ]           # Baris pertama
##   nama  nim      prodi
## 1 Vina 2201 Statistika
kelompok_kkn[, 2]           # Kolom kedua (nim)
##  [1] "2201" "2202" "2203" "2204" "2205" "2206" "2207" "2208" "2209" "2210"
kelompok_kkn$prodi          # Kolom prodi
##  [1] "Statistika" "Biologi"    "Kimia"      "Fisika"     "Statistika"
##  [6] "Biologi"    "Kimia"      "Fisika"     "Statistika" "Biologi"
kelompok_kkn[5, "nama"]     # Elemen di baris ke-5 dan kolom nama
## [1] "Nasywa"
barplot(table(kelompok_kkn$prodi), col="pink", main="Distribusi Prodi", ylab="Jumlah Mahasiswa")

Kesimpulan: - Data Frame memungkinkan pemanggilan berdasarkan baris, kolom, atau nama kolom. - data.frame[row, col] untuk spesifik baris/kolom. - $ digunakan untuk langsung memanggil nama kolom.

4. Buatlah data frame yang beberapa datanya berupa missing value. Carilah letak atau posisi data yang berupa missing value tersebut dengan menggunakan perintah is.na.

# Tambahkan missing value
kelompok_kkn$prodi[3] <- NA
kelompok_kkn$nama[7] <- NA

# Cek missing value
is.na(kelompok_kkn)
##        nama   nim prodi
##  [1,] FALSE FALSE FALSE
##  [2,] FALSE FALSE FALSE
##  [3,] FALSE FALSE  TRUE
##  [4,] FALSE FALSE FALSE
##  [5,] FALSE FALSE FALSE
##  [6,] FALSE FALSE FALSE
##  [7,]  TRUE FALSE FALSE
##  [8,] FALSE FALSE FALSE
##  [9,] FALSE FALSE FALSE
## [10,] FALSE FALSE FALSE
# Posisinya
which(is.na(kelompok_kkn), arr.ind = TRUE)
##      row col
## [1,]   7   1
## [2,]   3   3
library(VIM)
## Warning: package 'VIM' was built under R version 4.4.3
## Loading required package: colorspace
## Warning: package 'colorspace' was built under R version 4.4.2
## Loading required package: grid
## VIM is ready to use.
## Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues
## 
## Attaching package: 'VIM'
## The following object is masked from 'package:datasets':
## 
##     sleep
aggr(kelompok_kkn, col=c('PINK','BLUE'), numbers=TRUE, sortVars=TRUE, labels=names(kelompok_kkn), cex.axis=.7, gap=3, ylab=c("Missing data","Pattern"))

## 
##  Variables sorted by number of missings: 
##  Variable Count
##      nama   0.1
##     prodi   0.1
##       nim   0.0

Kesimpulan: - is.na() digunakan untuk mendeteksi nilai kosong (missing). - which(…, arr.ind = TRUE) menunjukkan posisi baris dan kolom dari data yang hilang. - Visualisasi missing data membantu memahami pola ketidakhadiran data.