Operasi Dasar Operasi dasar matematika seperti penjumlahan, pengurangan, perkalian, pembagian, dan perpangkatan dapat dilakukan langsung di R. Syntax ini menunjukkan cara melakukan operasi tersebut.
2 + 3 # Penjumlahan: Menambahkan 2 dan 3, hasilnya 5
## [1] 5
5 - 1 # Pengurangan: Mengurangi 5 dengan 1, hasilnya 4
## [1] 4
4 * 2 # Perkalian: Mengalikan 4 dengan 2, hasilnya 8
## [1] 8
10 / 2 # Pembagian: Membagi 10 dengan 2, hasilnya 5
## [1] 5
2^3 # Pangkat: Menghitung 2 pangkat 3, hasilnya 8
## [1] 8
Pembuatan Variabel Variabel digunakan untuk menyimpan data. Di R, kita bisa membuat variabel dan mengisinya dengan nilai tertentu, lalu melakukan operasi dengan variabel tersebut.
a <- 10 # Membuat variabel 'a' dan mengisinya dengan nilai 10
b <- 5 # Membuat variabel 'b' dan mengisinya dengan nilai 5
c <- a + b # Membuat variabel 'c' yang berisi hasil penjumlahan 'a' dan 'b'
c # Menampilkan nilai dari variabel 'c'
## [1] 15
Struktur Data Dasar R memiliki beberapa struktur data dasar seperti vektor, faktor, list, dan dataframe. Struktur data ini digunakan untuk menyimpan dan mengelola data secara efisien.
vektor <- c(1, 2, 3, 4, 5) # Membuat vektor numerik dengan nilai 1 hingga 5
vektor # Menampilkan isi vektor
## [1] 1 2 3 4 5
Membuat Vektor Karakter Vektor karakter adalah kumpulan data teks yang disimpan dalam satu variabel. Di R, kita bisa membuat vektor karakter menggunakan fungsi c().
warna <- c("Merah", "Biru", "Hijau", "Merah", "Biru", "Hijau", "Merah")
warna # Menampilkan isi vektor karakter
## [1] "Merah" "Biru" "Hijau" "Merah" "Biru" "Hijau" "Merah"
Mengonversi ke Faktor Faktor adalah struktur data di R yang digunakan untuk menyimpan data kategorikal. Konversi ke faktor memungkinkan kita untuk menganalisis data kategorikal dengan lebih efisien.
warna_factor <- factor(warna) # Mengubah vektor karakter menjadi faktor
Menampilkan Struktur Faktor Fungsi str() digunakan untuk menampilkan struktur dari suatu objek, termasuk faktor. Ini membantu memahami tipe data dan level yang ada dalam faktor.
str(warna_factor) # Menampilkan struktur dari faktor 'warna_factor'
## Factor w/ 3 levels "Biru","Hijau",..: 3 1 2 3 1 2 3
Menampilkan Level yang Ada dalam Faktor Level adalah kategori unik dalam faktor. Fungsi levels() digunakan untuk menampilkan semua level yang ada dalam suatu faktor.
levels(warna_factor) # Menampilkan level atau kategori unik dalam faktor
## [1] "Biru" "Hijau" "Merah"
Frekuensi Tiap Kategori Fungsi table() digunakan untuk menghitung frekuensi masing-masing kategori dalam faktor. Ini berguna untuk analisis data kategorikal.
table(warna_factor) # Menampilkan frekuensi masing-masing kategori dalam faktor
## warna_factor
## Biru Hijau Merah
## 2 2 3
Membuat List yang Berisi Berbagai Jenis Data List adalah struktur data yang dapat menyimpan berbagai jenis data, seperti vektor, teks, dan faktor, dalam satu objek. Ini membuat list sangat fleksibel.
data_list <- list(
angka = c(10, 20, 30, 40),
teks = c("A", "B", "C"),
kategori = factor(c("Baik", "Sedang", "Buruk"))
)
Menampilkan Isi List Fungsi print() digunakan untuk menampilkan seluruh isi list. Ini membantu melihat data yang disimpan dalam list.
print(data_list) # Menampilkan seluruh isi list
## $angka
## [1] 10 20 30 40
##
## $teks
## [1] "A" "B" "C"
##
## $kategori
## [1] Baik Sedang Buruk
## Levels: Baik Buruk Sedang
Mengakses Elemen List Kita bisa mengakses elemen dalam list menggunakan operator $ atau [[ ]]. Ini memungkinkan kita untuk mengambil data spesifik dari list.
data_list$angka # Mengakses elemen 'angka' dalam list
## [1] 10 20 30 40
data_list[[2]] # Mengakses elemen kedua dalam list (vektor 'teks')
## [1] "A" "B" "C"
Membuat Dataframe Dataframe adalah struktur data tabular yang terdiri dari baris dan kolom. Setiap kolom dapat memiliki tipe data yang berbeda, mirip dengan tabel di database.
data_karyawan <- data.frame(
Nama = c("Andi", "Budi", "Citra", "Dewi"), # Kolom Nama
Usia = c(25, 30, 27, 35), # Kolom Usia
Pekerjaan = factor(c("Pegawai", "Wirausaha", "Mahasiswa", "Pegawai")) # Kolom Pekerjaan
)
Menampilkan Dataframe Fungsi print() digunakan untuk menampilkan seluruh isi dataframe. Ini membantu melihat data dalam format tabel.
print(data_karyawan) # Menampilkan seluruh isi dataframe
## Nama Usia Pekerjaan
## 1 Andi 25 Pegawai
## 2 Budi 30 Wirausaha
## 3 Citra 27 Mahasiswa
## 4 Dewi 35 Pegawai
Menampilkan Ringkasan Dataframe Fungsi summary() memberikan ringkasan statistik dari dataframe, seperti nilai minimum, maksimum, rata-rata, dan frekuensi untuk data kategorikal.
summary(data_karyawan) # Menampilkan ringkasan statistik dari dataframe
## Nama Usia Pekerjaan
## Length:4 Min. :25.00 Mahasiswa:1
## Class :character 1st Qu.:26.50 Pegawai :2
## Mode :character Median :28.50 Wirausaha:1
## Mean :29.25
## 3rd Qu.:31.25
## Max. :35.00
Membuat Array 3 Dimensi Array adalah struktur data multidimensi. Array 3 dimensi dapat digunakan untuk menyimpan data dalam bentuk matriks 3D.
array_data <- array(1:24, dim = c(3, 4, 2)) # Membuat array dengan dimensi 3x4x2
Menampilkan Array Fungsi print() digunakan untuk menampilkan isi array. Ini membantu melihat data yang disimpan dalam array.
print(array_data) # Menampilkan isi array
## , , 1
##
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
##
## , , 2
##
## [,1] [,2] [,3] [,4]
## [1,] 13 16 19 22
## [2,] 14 17 20 23
## [3,] 15 18 21 24
Menampilkan Dimensi Array Fungsi dim() digunakan untuk menampilkan dimensi dari array. Ini membantu memahami struktur array.
dim(array_data) # Menampilkan dimensi dari array
## [1] 3 4 2
Membuat Vektor dengan Nilai NA Nilai NA (Not Available) digunakan untuk merepresentasikan data yang hilang. Kita bisa membuat vektor yang mengandung nilai NA dan melakukan pengecekan.
nilai <- c(90, 85, NA, 75, 80, NA, 95) # Membuat vektor dengan beberapa nilai NA
# Mengecek nilai yang hilang
is.na(nilai) # Mengecek apakah ada nilai NA dalam vektor
## [1] FALSE FALSE TRUE FALSE FALSE TRUE FALSE
# Menghitung jumlah nilai NA dalam vektor
sum(is.na(nilai)) # Menghitung total nilai NA dalam vektor
## [1] 2
Sequence Generation Sequence generation digunakan untuk membuat urutan angka dengan interval tertentu. Fungsi seq() membantu membuat urutan angka dengan panjang atau interval yang ditentukan.
x1 <- seq(0, 10, length=5) # Membuat sequence dari 0 hingga 10 dengan 5 elemen
x1 # Menampilkan sequence
## [1] 0.0 2.5 5.0 7.5 10.0
x2 <- seq(0,10,length=6) # Membuat deret angka dengan 6 elemen
x2
## [1] 0 2 4 6 8 10
x3 <- seq(0,10,length=7) # Membuat deret angka dengan 7 elemen
x3
## [1] 0.000000 1.666667 3.333333 5.000000 6.666667 8.333333 10.000000
Pembulatan Pecahan Desimal R menyediakan fungsi untuk membulatkan angka desimal, seperti round(), floor(), dan ceiling(). Fungsi ini berguna untuk mengatur presisi angka.
round(x3) # Membulatkan nilai dalam 'x3' ke bilangan bulat terdekat
## [1] 0 2 3 5 7 8 10
floor(x3) # Membulatkan nilai dalam 'x3' ke bawah
## [1] 0 1 3 5 6 8 10
ceiling(x3) # Membulatkan nilai dalam 'x3' ke atas
## [1] 0 2 4 5 7 9 10
Replicate Elements of Vectors and Lists Fungsi rep() digunakan untuk mengulang elemen dalam vektor atau list. Kita bisa mengulang seluruh vektor atau setiap elemennya secara terpisah.
rep(c("A", "B", "C"), 5) # Mengulang vektor "A", "B", "C" sebanyak 5 kali
## [1] "A" "B" "C" "A" "B" "C" "A" "B" "C" "A" "B" "C" "A" "B" "C"
rep(c("A", "B", "C"), each=5) # Mengulang setiap elemen vektor "A", "B", "C" sebanyak 5 kali
## [1] "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "C" "C" "C" "C" "C"
rep(c("A", "B", "C"), each=2, 5) # Mengulang setiap elemen vektor "A", "B", "C" sebanyak 2 kali, dan seluruhnya diulang 5 kali
## [1] "A" "A" "B" "B" "C" "C" "A" "A" "B" "B" "C" "C" "A" "A" "B" "B" "C" "C" "A"
## [20] "A" "B" "B" "C" "C" "A" "A" "B" "B" "C" "C"
rep(1:5, 5) # Mengulang vektor 1 hingga 5 sebanyak 5 kali
## [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
rep(1:5, each=5) # Mengulang setiap elemen vektor 1 hingga 5 sebanyak 5 kali
## [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5
rep(1:5, each=2, 5) # Mengulang setiap elemen vektor 1 hingga 5 sebanyak 2 kali, dan seluruhnya diulang 5 kali
## [1] 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4
## [39] 5 5 1 1 2 2 3 3 4 4 5 5
Fungsi Dasar Statistika pada R R menyediakan fungsi statistik dasar seperti min(), max(), mean(), var(), dan cor() untuk menghitung nilai statistik dari data. Fungsi ini sangat berguna untuk analisis data.
# Membuat data x dan y
x <- c(3, 4, 5, 6) # Membuat vektor x
y <- c(2, 3, 4, 5, 6, 6) # Membuat vektor y
# Menghitung nilai statistik dasar
min(x) # Menghitung nilai minimum dari vektor x
## [1] 3
max(y) # Menghitung nilai maksimum dari vektor y
## [1] 6
mean(x) # Menghitung rata-rata dari vektor x
## [1] 4.5
var(y) # Menghitung variansi dari vektor y
## [1] 2.666667
cor(x, y[1:length(x)]) # Menghitung korelasi antara vektor x dan y (panjang harus sama)
## [1] 1
# Menentukan range (jangkauan nilai)
range(x) # Menghitung range dari vektor x
## [1] 3 6
range(y) # Menghitung range dari vektor y
## [1] 2 6
Simulasi Sampel Acak Fungsi sample() digunakan untuk mengambil sampel acak dari data. Ini berguna untuk simulasi atau pengambilan sampel secara acak.
# Simulasi pelemparan koin (0 = ekor, 1 = kepala)
set.seed(123) # Mengatur seed untuk hasil yang konsisten
sample(0:1, 30, replace = TRUE) # Simulasi pelemparan koin sebanyak 30 kali
## [1] 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1
# Simulasi pengambilan sampel huruf "A" dan "G" sebanyak 15 kali
sample(c("A", "G"), 15, replace = TRUE) # Simulasi pengambilan sampel huruf "A" dan "G"
## [1] "A" "G" "A" "G" "G" "A" "A" "A" "A" "G" "A" "G" "G" "A" "A"
# Simulasi pelemparan dadu sebanyak 30 kali
sample(1:6, 30, replace = TRUE) # Simulasi pelemparan dadu sebanyak 30 kali
## [1] 1 1 2 3 4 5 5 3 6 1 2 5 5 4 5 2 1 1 3 1 6 5 1 2 4 4 6 6 3 6
Praktikum Manipulasi Dasar
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(data.table)
##
## Attaching package: 'data.table'
## The following objects are masked from 'package:dplyr':
##
## between, first, last
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.2
Buatlah suatu variabel bernama “data” yang berupa data lokal dengan menggunakan fungsi tbl_df() yang berisikan data iris
data <- tbl_df(iris)
## Warning: `tbl_df()` was deprecated in dplyr 1.0.0.
## ℹ Please use `tibble::as_tibble()` instead.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
class(data)
## [1] "tbl_df" "tbl" "data.frame"
data
## # A tibble: 150 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## # ℹ 140 more rows
Ambil data tersebut dari baris pertama hingga ke sepuluh dan masukkan ke dalam variabel baru yaitu data_slice
data_slice <- slice(data, 1:10)
data_slice
## # A tibble: 10 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
Urutkan data_slice berdasarkan nilai pada kolom Sepal.Length secara descending
arrange(data_slice, desc(data_slice$Sepal.Length))
## # A tibble: 10 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.4 3.9 1.7 0.4 setosa
## 2 5.1 3.5 1.4 0.2 setosa
## 3 5 3.6 1.4 0.2 setosa
## 4 5 3.4 1.5 0.2 setosa
## 5 4.9 3 1.4 0.2 setosa
## 6 4.9 3.1 1.5 0.1 setosa
## 7 4.7 3.2 1.3 0.2 setosa
## 8 4.6 3.1 1.5 0.2 setosa
## 9 4.6 3.4 1.4 0.3 setosa
## 10 4.4 2.9 1.4 0.2 setosa
Buat suatu variabel baru bernama datatable yang memuat data iris dengan menggunakan fungsi data.table
datatable <- data.table(iris)
datatable
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <num> <num> <num> <num> <fctr>
## 1: 5.1 3.5 1.4 0.2 setosa
## 2: 4.9 3.0 1.4 0.2 setosa
## 3: 4.7 3.2 1.3 0.2 setosa
## 4: 4.6 3.1 1.5 0.2 setosa
## 5: 5.0 3.6 1.4 0.2 setosa
## ---
## 146: 6.7 3.0 5.2 2.3 virginica
## 147: 6.3 2.5 5.0 1.9 virginica
## 148: 6.5 3.0 5.2 2.0 virginica
## 149: 6.2 3.4 5.4 2.3 virginica
## 150: 5.9 3.0 5.1 1.8 virginica
Buatlah kolom baru pada tabatable dengan nama new_col menggunakan operator $ dengan elemen sama dengan kolom Species
datatable$new_col <- datatable$Species
datatable$new_col
## [1] setosa setosa setosa setosa setosa setosa
## [7] setosa setosa setosa setosa setosa setosa
## [13] setosa setosa setosa setosa setosa setosa
## [19] setosa setosa setosa setosa setosa setosa
## [25] setosa setosa setosa setosa setosa setosa
## [31] setosa setosa setosa setosa setosa setosa
## [37] setosa setosa setosa setosa setosa setosa
## [43] setosa setosa setosa setosa setosa setosa
## [49] setosa setosa versicolor versicolor versicolor versicolor
## [55] versicolor versicolor versicolor versicolor versicolor versicolor
## [61] versicolor versicolor versicolor versicolor versicolor versicolor
## [67] versicolor versicolor versicolor versicolor versicolor versicolor
## [73] versicolor versicolor versicolor versicolor versicolor versicolor
## [79] versicolor versicolor versicolor versicolor versicolor versicolor
## [85] versicolor versicolor versicolor versicolor versicolor versicolor
## [91] versicolor versicolor versicolor versicolor versicolor versicolor
## [97] versicolor versicolor versicolor versicolor virginica virginica
## [103] virginica virginica virginica virginica virginica virginica
## [109] virginica virginica virginica virginica virginica virginica
## [115] virginica virginica virginica virginica virginica virginica
## [121] virginica virginica virginica virginica virginica virginica
## [127] virginica virginica virginica virginica virginica virginica
## [133] virginica virginica virginica virginica virginica virginica
## [139] virginica virginica virginica virginica virginica virginica
## [145] virginica virginica virginica virginica virginica virginica
## Levels: setosa versicolor virginica
Buatlah keys pada datatable dengan anggota keys berdasarkan kolom Speciies, dan kemudian panggil semua anggota keys dengan fungsi key()
setkey(datatable, Species)
key(datatable)
## [1] "Species"
Hitung mean, interquartile, dan median dari data Sepal.Length berdasarkan grup yang diperoleh dari Species dengan fungsi by
datatable[,.(mean=mean(Sepal.Length), IQR=IQR(Sepal.Length), median=median(Sepal.Length)), by=Species]
## Key: <Species>
## Species mean IQR median
## <fctr> <num> <num> <num>
## 1: setosa 5.006 0.400 5.0
## 2: versicolor 5.936 0.700 5.9
## 3: virginica 6.588 0.675 6.5
Buatlah plot data dengan menggunakan ggplot2 dan simpan plot dalam variabel plot_data. Kemudian tampilkan plot tersebut.
plot_data <- ggplot(data,aes(x=Sepal.Length, y=Sepal.Width)) + geom_point(aes(colour=Species))
plot_data
Latihan
nama_vector <- c(5, FALSE, "true", "8.3", "Statistika")
nama_vector
## [1] "5" "FALSE" "true" "8.3" "Statistika"
Semua elemennya bakal berubah jadi character (teks) karena di dalam vektor semua elemen harus punya tipe data yang sama. Jadi, R otomatis merubah angka dan boolean jadi teks. Karena ketika kita masukin angka, boolean, dan teks ke dalam vektor, semuanya bakal dipaksa jadi teks.
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 utama antara vector dan list adalah kalau Vector: semua elemen harus memiliki tipe data yang sama (akan dikonversi otomatis jika perlu). Sedangkan List: dapat menyimpan tipe data yang berbeda-beda dalam satu struktur. Dari sini bisa dilihat bahwa list itu fleksibel, dia bisa menyimpan berbagai macam tipe data dalam satu struktur tanpa harus mengubahnya jadi karakter semua. Jadi kalau vector itu harus seragam, list bisa campuran antara angka, boolean, dan teks tanpa masalah.Kesimpulannya, kalau butuh struktur data yang tetap konsisten (semua elemennya satu tipe), pakai vector. Tapi kalau butuh yang lebih fleksibel dan bisa nyimpen berbagai jenis data, pakai list.
kelompok_kkn <- data.frame(
nama = c("Naura", "Huzi", "Eca", "Fara", "Ben", "Zahra", "Cleo", "Ais", "Ghai", "Vina"),
nim = c(101, 102, 103, 104, 105, 106, 107, 108, 109, 110),
prodi = c("Statistika", "Arsin", "Manajemen Bisnis", "Hukum", "Manajemen",
"Teknik Industri", "Tata Boga", "Matematika", "Farmasi", "Kedokteran")
)
kelompok_kkn
## nama nim prodi
## 1 Naura 101 Statistika
## 2 Huzi 102 Arsin
## 3 Eca 103 Manajemen Bisnis
## 4 Fara 104 Hukum
## 5 Ben 105 Manajemen
## 6 Zahra 106 Teknik Industri
## 7 Cleo 107 Tata Boga
## 8 Ais 108 Matematika
## 9 Ghai 109 Farmasi
## 10 Vina 110 Kedokteran
kelompok_kkn$nama
## [1] "Naura" "Huzi" "Eca" "Fara" "Ben" "Zahra" "Cleo" "Ais" "Ghai"
## [10] "Vina"
kelompok_kkn[3, ]
## nama nim prodi
## 3 Eca 103 Manajemen Bisnis
kelompok_kkn[5, 3]
## [1] "Manajemen"
kelompok_kkn["prodi"]
## prodi
## 1 Statistika
## 2 Arsin
## 3 Manajemen Bisnis
## 4 Hukum
## 5 Manajemen
## 6 Teknik Industri
## 7 Tata Boga
## 8 Matematika
## 9 Farmasi
## 10 Kedokteran
kelompok_kkn[1:5, c("nama", "prodi")]
## nama prodi
## 1 Naura Statistika
## 2 Huzi Arsin
## 3 Eca Manajemen Bisnis
## 4 Fara Hukum
## 5 Ben Manajemen
Pada soal ini latihan bikin data frame kelompok_kkn yang isinya ada tiga kolom: nama, nim, dan prodi, dengan minimal 10 baris data. Setelah dibuat, data frame ini bisa dipanggil dengan berbagai cara.
Kalau mau ambil satu kolom aja, tinggal pakai \(, misalnya: kelompok_kkn\)nama, Hasilnya bakal keluar daftar semua nama mahasiswa dalam data frame.
Kalau mau ambil baris tertentu, misalnya baris ke-3:kelompok_kkn[3, ] Maka outputnya bakal menampilkan semua informasi mahasiswa di baris ke-3, termasuk NIM dan prodinya.
Lalu, kalau kita mau ambil elemen spesifik, misalnya prodi dari mahasiswa di baris ke-5:kelompok_kkn[5, 3] Maka kita cuma dapet satu nilai, yaitu prodi dari mahasiswa di baris ke-5.
Dari sini, terlihat kalau cara pemanggilan di data frame itu beda sama vector atau list. Kalau vector cuma satu dimensi (cuma ada satu jenis data aja), data frame itu dua dimensi (ada baris dan kolom), jadi bisa dipanggil berdasarkan indeks baris, nama kolom, atau kombinasi keduanya.
df_missing <- data.frame(
nama = c("Naura", "Huzi", "Eca", "Fara", "Ben", "Zahra", NA, "Ais", NA, "Vina"),
nim = c(101, 102, 103, 104, 105, 106, NA, 108, NA, 110),
prodi = c("Statistika", "Arsin", "Manajemen Bisnis", "Hukum", NA,
"Teknik Industri", "Tata Boga", "Matematika", "Farmasi", "Kedokteran")
)
is.na(df_missing)
## nama nim prodi
## [1,] FALSE FALSE FALSE
## [2,] FALSE FALSE FALSE
## [3,] FALSE FALSE FALSE
## [4,] FALSE FALSE FALSE
## [5,] FALSE FALSE TRUE
## [6,] FALSE FALSE FALSE
## [7,] TRUE TRUE FALSE
## [8,] FALSE FALSE FALSE
## [9,] TRUE TRUE FALSE
## [10,] FALSE FALSE FALSE