—————————————————– 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.
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).
# 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.
# 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.