Operasi Dasar

Di R, operasi matematika dasar seperti penjumlahan, pengurangan, perkalian, pembagian, dan perpangkatan dapat dilakukan dengan mudah. Syntax ini menunjukkan cara penggunaannya secara langsung.

16+21 #penjumlahan
## [1] 37
5-1 #pengurangan
## [1] 4
4*4 #perkalian
## [1] 16
10/2 #pembagian
## [1] 5
2^3 #pangkat
## [1] 8

Pembuatan Variabel

Variabel di R digunakan untuk menyimpan nilai, baik angka, teks, maupun data lainnya. Dengan menggunakan operator <-, kita dapat mendefinisikan variabel untuk mempermudah pengolahan data dan perhitungan.

a <- 15 #membuat variabel 'a' dan mengisinya dengan nilai 15
b <- 4 #membuat variabel 'b' dan mengisinya dengan nilai 4
c <- a+b #membuat variabel 'c' yang berisi hasil penjumlahan 'a' dan 'b'
c #menampilkan nilai dari variabel 'c'
## [1] 19

Struktur Data

R memiliki berbagai struktur data seperti vektor, faktor, matriks, data frame, dan list. Struktur data ini memungkinkan penyimpanan serta pengolahan data dengan cara yang efisien sesuai kebutuhan analisis.

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 di R digunakan untuk menyimpan kumpulan teks dalam satu struktur data. Dibuat dengan c(), vektor ini berguna untuk mengelola data kategori atau string.

warna <- c("Burgundy", "Gold", "Emerald", "Brown", "Black", "Burgundy", "Emerald")
warna #menampilkan isi vektor karakter
## [1] "Burgundy" "Gold"     "Emerald"  "Brown"    "Black"    "Burgundy" "Emerald"

Mengubah ke Faktor

Di R, vektor karakter dapat dikonversi ke faktor menggunakan factor(). Faktor berguna untuk data kategorik dalam analisis statistik.

warna_factor <- factor(warna) #mengubah vektor karakter menjadi faktor

Menampilkan Struktur Faktor

Untuk menampilkan struktur faktor di R, gunakan str(). Ini membantu memahami level dalam faktor.

str(warna_factor) #menampilkan struktur dari faktor 'warna_factor'
##  Factor w/ 5 levels "Black","Brown",..: 3 5 4 2 1 3 4

Menampilkan Level dalam Faktor

Level adalah kategori unik dalam faktor. Gunakan levels() untuk menampilkan level dalam faktor di R.

levels(warna_factor) #menampilkan level atau kategori unik dalam faktor
## [1] "Black"    "Brown"    "Burgundy" "Emerald"  "Gold"

Frekuensi Tiap Kategori

Gunakan table() untuk melihat frekuensi tiap kategori dalam faktor. Ini berguna untuk analisis data kategorikal.

table(warna_factor) #menampilkan frekuensi masing-masing kategori dalam faktor
## warna_factor
##    Black    Brown Burgundy  Emerald     Gold 
##        1        1        2        2        1

Membuat List yang Berisi Berbagai Jenis Data

Di R, list dapat menyimpan berbagai jenis data dalam satu struktur. Gunakan list() untuk membuatnya. Ini membuat list sangat fleksibel. Fungsi print() digunakan untuk menampilkan seluruh isi list. Ini membantu melihat data yang disimpan dalam list.

data_list <- list(
  angka = c(10, 20, 30, 40),
  teks = c("A", "B", "C"),
  kategori = factor(c("Baik", "Sedang", "Buruk"))
)
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

Gunakan [[ ]] atau $ untuk mengakses elemen dalam list di R.

data_list$angka #mengakses elemen 'angka' dalam list
## [1] 10 20 30 40
data_list[[2]] #mengakses elemen kedua dalam list (vektor'list')
## [1] "A" "B" "C"

Membuat Data Frame

Data frame di R adalah struktur data berbentuk tabel yang terdiri dari baris dan kolom, di mana setiap kolom dapat berisi tipe data berbeda. Data frame sering digunakan untuk analisis data. Gunakan data.frame() untuk membuat dataframe di R, yang berisi data dalam format tabel. Fungsi print() digunakan untuk menampilkan seluruh isi dataframe. Ini membantu melihat data dalam format tabel.

data_karyawan <- data.frame(
  Nama = c("Alice", "Baron", "Chizy", "Dolby"),
  Usia = c(25, 30, 27, 35),
  Pekerjaan = factor(c("Pegawai", "Wirausaha", "Mahasiswa", "Pegawai"))
)
print(data_karyawan) #menampilkan dataframe
##    Nama Usia Pekerjaan
## 1 Alice   25   Pegawai
## 2 Baron   30 Wirausaha
## 3 Chizy   27 Mahasiswa
## 4 Dolby   35   Pegawai

Ringkasan Data Frame

Gunakan summary(df) untuk melihat ringkasan statistik dari data frame, termasuk nilai minimum, maksimum, median, mean, dan jumlah data kosong jika ada.

summary(data_karyawan)
##      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. Gunakan array() untuk membuat array 3 dimensi di Fungsi print() digunakan untuk menampilkan isi array. Ini membantu melihat data yang disimpan dalam array.

array_data <- array(1:24, dim = c(2,3,4)) #membuat array dengan dimensi 2 baris, 3 kolom, dan 4 lapisan. Artinya, data akan disusun dalam 4 matriks berukuran 2x3.
print(array_data) #menampilkan isi array
## , , 1
## 
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
## 
## , , 2
## 
##      [,1] [,2] [,3]
## [1,]    7    9   11
## [2,]    8   10   12
## 
## , , 3
## 
##      [,1] [,2] [,3]
## [1,]   13   15   17
## [2,]   14   16   18
## 
## , , 4
## 
##      [,1] [,2] [,3]
## [1,]   19   21   23
## [2,]   20   22   24

Menampilkan Dimensi Array

Gunakan dim() untuk menampilkan dimensi array di R. Ini membantu memahami struktur array.

dim(array_data) #menampilkan jumlah baris, kolom, dan lapisan pada array.
## [1] 2 3 4

Membuat Vektor dengan Nilai NA (Not Available)

Nilai NA (Not Available) digunakan untuk merepresentasikan data yang hilang. Kita bisa membuat vektor yang mengandung nilai NA dan melakukan pengecekan. Gunakan NA untuk membuat vektor dengan nilai yang belum tersedia.

nilai <- c(90, 85, NA, 75, 80, NA, 95) #membuat vektor dengan beberapa nilai NA

is.na(nilai) #mengecek apakah ada nilai NA dalam vektor
## [1] FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE
sum(is.na(nilai)) #menghitung total nilai NA dalam vektor
## [1] 2

Sequence Generation

Sequence generation digunakan untuk membuat urutan angka dengan interval tertentu. Gunakan seq() untuk membuat deret angka dalam R.

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 Gunakan round() untuk membulatkan nilai ke bilangan bulat terdekat; ceiling() untuk membulatkan nilai ke atas; atau floor() untuk membulatkan nilai ke bawah.

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

Gunakan rep() untuk menduplikasi elemen vektor atau list di R. 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

Gunakan fungsi dasar statistika di R seperti min(), max(), mean(), median(), var(), dan cor() untuk analisis data.

#Membuat data x dan y
x <- c(3,4,5,6)
y <- c(2,3,4,5,6,6)

#Menghitung nilai statistik dasar
min(x) #nilai minimum dari vektor x
## [1] 3
max(y) #nilai maksimum dari vektor y
## [1] 6
mean(x) #rata-rata vektor x
## [1] 4.5
var(y) #menghitung variansi vektor y
## [1] 2.666667
cor(x,y[1:length(x)]) #menghitung korelasi antara vektor x dan y (panjang harus sama)
## [1] 1
range(x) #jangkauan nilai vektor x
## [1] 3 6
range(y) #jangkauan nilai vektor y
## [1] 2 6

Simulasi Sampel Acak

Gunakan sample() untuk mengambil sampel acak di R. Contoh: sample(1:10, 5) akan memilih 5 angka acak dari 1 hingga 10 tanpa pengembalian. set.seed digunakan untuk hasil sampel acak yang konsisten. Angka di dalam kurung pada set.seed(n) adalah nilai seed yang digunakan untuk mengontrol generator angka acak di R. Angka bisa bebas dipilih dan tidak berpengaruh terhadap distribusi data, hanya menentukan urutan angka acak yang sama setiap kali kode dijalankan.

# Simulasi pelemparan koin (0 = ekor, 1 = kepala)
set.seed(1) 
sample(0:1, 30, replace = TRUE)  # Simulasi pelemparan koin sebanyak 30 kali
##  [1] 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 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] "G" "G" "A" "G" "A" "A" "G" "A" "G" "G" "G" "G" "A" "G" "G"
# Simulasi pelemparan dadu sebanyak 30 kali
sample(1:6, 30, replace = TRUE)  # Simulasi pelemparan dadu sebanyak 30 kali
##  [1] 4 2 4 1 6 1 4 1 6 2 3 2 6 6 2 5 2 6 6 6 1 3 3 6 4 6 3 1 4 5

Praktikum Manipulasi Dasar

library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.2
## 
## 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)
#membuatlah 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
#mengambil 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
#mengurutkan data_slice berdasarkan nilai pada kolom Sepal.Length secara descending (terbesar ke terkecil)
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
#membuat variabel baru dengan fungsi data.table
data_table <- data.table(iris)
data_table
##      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
#membuat kolom baru pada data_table dengan nama new_col menggunakan operator $ dengan elemen sama dengan kolom Species
data_table$new_col <- data_table$Species
data_table$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
#membuat keys pada data_table dengan anggota keys berdasarkan kolom Speciies, dan kemudian panggil semua anggota keys dengan fungsi key()
setkey(data_table, Species) 
key(data_table)
## [1] "Species"
#menghitung mean, interquartile, dan median dari data Sepal.Length berdasarkan grup yang diperoleh dari Species dengan fungsi by
data_table[,.(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
#membuat 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

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
## [1] "5"          "FALSE"      "true"       "8.3"        "Statistika"

Hasil output menunjukkan bahwa angka 5 dan FALSE berubah menjadi “5” dan “FALSE”, yang berarti semua elemen dalam vektor dikonversi ke tipe data karakter (character). Hal ini terjadi karena dalam R, ketika vektor dibuat dengan elemen campuran (numeric, logical, dan character), maka R akan melakukan coercion (konversi tipe data) ke tipe data yang memiliki tingkat prioritas tertinggi.Urutan prioritas tipe data di R: logical < numeric < character.Jika ingin mempertahankan tipe data aslinya, sebaiknya tidak mencampur tipe data dalam satu vektor.

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 list dan vector: 1. Vector menampilkan elemen dalam satu baris dan mengonversi semua elemen ke tipe data yang sama (coercion), sehingga semua elemen dalam nama_vector menjadi karakter. 2. List menampilkan setiap elemen dalam indeksnya sendiri dan mempertahankan tipe data asli dari setiap elemen, sehingga angka tetap angka, boolean tetap boolean, dan string tetap string.

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.

#membuat data frame 
kelompok_kkn <- data_frame(
  nama = c("Nero", "Michi", "Alice", "Baron", "Chizy", "Dolby", "Mimi", "Song", "Ginger", "GOlden"),
  nim = c("140001", "140011", "140021", "140022", "140023", "140024", "140031", "140032", "140041", "140042"),
  prodi = c("Kedokteran", "Ilmu Hukum", "Tata Busana", "Tata Boga", "Bisnis", "Keperawatan", "Psikologi", "Seni Rupa", "Teknik Geodesi", "Desain Interior")
)
## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## ℹ Please use `tibble()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
kelompok_kkn #menampilkan data frame
## # A tibble: 10 × 3
##    nama   nim    prodi          
##    <chr>  <chr>  <chr>          
##  1 Nero   140001 Kedokteran     
##  2 Michi  140011 Ilmu Hukum     
##  3 Alice  140021 Tata Busana    
##  4 Baron  140022 Tata Boga      
##  5 Chizy  140023 Bisnis         
##  6 Dolby  140024 Keperawatan    
##  7 Mimi   140031 Psikologi      
##  8 Song   140032 Seni Rupa      
##  9 Ginger 140041 Teknik Geodesi 
## 10 GOlden 140042 Desain Interior
#Pemanggilan Baris 
kelompok_kkn[4, ]  #memanggil baris keempat
## # A tibble: 1 × 3
##   nama  nim    prodi    
##   <chr> <chr>  <chr>    
## 1 Baron 140022 Tata Boga

Sintaks [baris, ] digunakan untuk mengambil seluruh elemen dalam baris tertentu.

#Pemanggilan Kolom
kelompok_kkn$nama 
##  [1] "Nero"   "Michi"  "Alice"  "Baron"  "Chizy"  "Dolby"  "Mimi"   "Song"  
##  [9] "Ginger" "GOlden"

Pemanggilan menggunakan $ digunakan untuk mengambil seluruh isi dari satu kolom dalam bentuk vector.

#Pemanggilan Elemen
kelompok_kkn[3, 2]  #memanggil elemen di baris ke-3 dan kolom ke-2 (NIM Alice)
## # A tibble: 1 × 1
##   nim   
##   <chr> 
## 1 140021

Sintaks [baris, kolom] digunakan untuk mengambil satu elemen spesifik dalam data frame.

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.

#membuat data frame
data_pembeli <- data.frame(
  nama = c("Ifa", "Zara", NA, "Thala", "Aby", NA, "Rifda", NA, "Nindi"),
  usia = c(NA, 26, NA, 22, 25, 21, NA, 25, 20)
)
data_pembeli
##    nama usia
## 1   Ifa   NA
## 2  Zara   26
## 3  <NA>   NA
## 4 Thala   22
## 5   Aby   25
## 6  <NA>   21
## 7 Rifda   NA
## 8  <NA>   25
## 9 Nindi   20
# Mengecek nilai yang hilang
is.na(data_pembeli)
##        nama  usia
##  [1,] FALSE  TRUE
##  [2,] FALSE FALSE
##  [3,]  TRUE  TRUE
##  [4,] FALSE FALSE
##  [5,] FALSE FALSE
##  [6,]  TRUE FALSE
##  [7,] FALSE  TRUE
##  [8,]  TRUE FALSE
##  [9,] FALSE FALSE
# Menghitung jumlah nilai NA dalam data frame
sum(is.na(data_pembeli))
## [1] 6

Dalam data_pembeli, terdapat 6 data yang hilang (NA) yang tersebar di kolom nama dan usia. Dengan is.na() dan sum(is.na()), kita dapat mendeteksi dan menganalisis missing value dengan mudah. Perintah is.na(data_pembeli) menghasilkan matriks TRUE menunjukkan nilai yang hilang (NA) dan FALSE menunjukkan nilai yang ada.