Operasi Dasar

Operasi dasar matematika seperti penjumlahan, pengurangan, perkalian, pembagian, dan perpangkatan dapat dilakukan langsung di R. Syntax ini menunjukkan cara melakukan operasi tersebut.

5+2 # Penjumlahan: Menambahkan 5 dan 2, hasilnya 7
## [1] 7
8-1 # Pengurangan: Mengurangi 8 dengan 1, hasilnya 7
## [1] 7
7*7 # Perkalian: Mengalikan 7 dengan 7, hasilnya 49
## [1] 49
14/2 # Pembagian: Membagi 14 dengan 2, hasilnya 7
## [1] 7
7^3 # Pangkat: Menghitung 7 pangkat 3, hasilnya 343
## [1] 343

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 <- 3 # Membuat variabel 'a' dan mengisinya dengan nilai 3
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] 7

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(7,11,13,21,35) # Membuat vektor numerik 
vektor # Menampilkan isi vektor
## [1]  7 11 13 21 35

Membuat Vektor Karakter

Vektor karakter adalah kumpulan data teks yang disimpan dalam satu variabel. Di R, kita bisa membuat vektor karakter menggunakan fungsi c().

fakultas <- c("FH", "FMIPA", "FIPP", "FISIP", "FIK", "FK", "FEB", "FBS", "FT")
fakultas # Menampilkan isi vektor fakultas
## [1] "FH"    "FMIPA" "FIPP"  "FISIP" "FIK"   "FK"    "FEB"   "FBS"   "FT"

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.

fakultas_factor <- factor(fakultas)  # 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(fakultas_factor) # Menampilkan struktur dari faktor 'fakultas_factor'
##  Factor w/ 9 levels "FBS","FEB","FH",..: 3 8 5 6 4 7 2 1 9

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(fakultas_factor)  # Menampilkan level atau kategori unik dalam faktor
## [1] "FBS"   "FEB"   "FH"    "FIK"   "FIPP"  "FISIP" "FK"    "FMIPA" "FT"

Frekuensi Tiap Kategori

Fungsi table() digunakan untuk menghitung frekuensi masing-masing kategori dalam faktor. Ini berguna untuk analisis data kategorikal.

table(fakultas_factor) # Menampilkan frekuensi masing-masing kategori dalam faktor
## fakultas_factor
##   FBS   FEB    FH   FIK  FIPP FISIP    FK FMIPA    FT 
##     1     1     1     1     1     1     1     1     1

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_blackpink <- data.frame(
  Nama = c("Jisoo", "Jennie", "Rose", "Lisa"), # Kolom Nama
  Usia = c(30,29,28,27), # Kolom Usia
  Posisi = c("Visual", "Rapper", "Vocal", "Dancer") # Kolom Pekerjaan
)

Menampilkan Dataframe

Fungsi print() digunakan untuk menampilkan seluruh isi dataframe. Ini membantu melihat data dalam format tabel.

print(data_blackpink) # Menampilkan seluruh isi dataframe
##     Nama Usia Posisi
## 1  Jisoo   30 Visual
## 2 Jennie   29 Rapper
## 3   Rose   28  Vocal
## 4   Lisa   27 Dancer

Menampilkan Ringkasan Dataframe

Fungsi summary() memberikan ringkasan statistik dari dataframe, seperti nilai minimum, maksimum, rata-rata, dan frekuensi untuk data kategorikal.

summary(data_blackpink) # Menampilkan ringkasan statistik dari dataframe
##      Nama                Usia          Posisi         
##  Length:4           Min.   :27.00   Length:4          
##  Class :character   1st Qu.:27.75   Class :character  
##  Mode  :character   Median :28.50   Mode  :character  
##                     Mean   :28.50                     
##                     3rd Qu.:29.25                     
##                     Max.   :30.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:25, dim = c(3,7,5)) # Membuat array dengan dimensi 3x7x5

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] [,5] [,6] [,7]
## [1,]    1    4    7   10   13   16   19
## [2,]    2    5    8   11   14   17   20
## [3,]    3    6    9   12   15   18   21
## 
## , , 2
## 
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,]   22   25    3    6    9   12   15
## [2,]   23    1    4    7   10   13   16
## [3,]   24    2    5    8   11   14   17
## 
## , , 3
## 
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,]   18   21   24    2    5    8   11
## [2,]   19   22   25    3    6    9   12
## [3,]   20   23    1    4    7   10   13
## 
## , , 4
## 
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,]   14   17   20   23    1    4    7
## [2,]   15   18   21   24    2    5    8
## [3,]   16   19   22   25    3    6    9
## 
## , , 5
## 
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,]   10   13   16   19   22   25    3
## [2,]   11   14   17   20   23    1    4
## [3,]   12   15   18   21   24    2    5

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 7 5

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(99, 97, 100, NA, 75, 80, NA, 60)  # Membuat vektor dengan beberapa nilai NA

# Mengecek nilai yang hilang
is.na(nilai)  # Mengecek apakah ada nilai NA dalam vektor
## [1] FALSE 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
## [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(777)  # Mengatur seed untuk hasil yang konsisten
sample(0:1, 30, replace = TRUE)  # Simulasi pelemparan koin sebanyak 30 kali
##  [1] 1 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0
# 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" "G" "G" "G" "A" "G" "A" "A" "G" "G" "G" "G" "G" "A"
# Simulasi pelemparan dadu sebanyak 30 kali
sample(1:6, 30, replace = TRUE)  # Simulasi pelemparan dadu sebanyak 30 kali
##  [1] 1 3 3 4 2 2 1 3 1 5 5 5 6 6 5 1 1 4 5 5 6 3 2 3 2 3 1 6 1 3

Praktikum Manipulasi Dasar

Buatlah suatu variabel bernama “data” yang berupa data lokal dengan menggunakan fungsi tbl_df() yang berisikan data iris

library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.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)
## Warning: package 'data.table' was built under R version 4.3.3
## 
## 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.3.3
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 data table 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

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"

Interpretasi: 1)Vektor hanya bisa memiliki satu jenis tipe data. Dalam syntax meskipun ada angka (5), nilai logika (FALSE), dan angka desimal (8.3), semuanya berubah menjadi string (teks).Hal ini karena ketika ada tipe data campuran, R akan melakukan coercion (konversi otomatis) ke tipe data yang paling umum, yaitu character. 2)Jika ada tipe data campuran, R akan mengubah semuanya ke karakter. Struktur syntax di atas adalah Numeric (angka) → Logical (TRUE/FALSE) → Character. Karena ada elemen “Statistika” yang merupakan teks, seluruh elemen lainnya dikonversi ke karakter agar tipe data dalam vektor tetap konsisten. 3)Jika ingin mempertahankan tipe data yang berbeda dalam satu objek, gunakan list(). Maka setiap elemen akan tetap memiliki tipe data aslinya (numeric, logical, dan character tetap dipertahankan).

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"

Interpretasi: 1)Tipe data - Vector: semua elemen harus memiliki tipe yang sama - List: bisa menyimpan tipe data berbeda dalam satu objek 2)Struktur - Vector: satu dimensi - List: indeks terpisah ([[ ]]) 3)Konversi data - Vector: jika ada tipe berbeda, semuanya dikonversi ke karakter - List: Setiap elemen mempertahankan tipe aslinya 4)Cara akses elemen - Vector: menggunakan [ ]
- List: menggunakan [[ ]] atau $

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.

kelompok_kkn <- data.frame(
  nama = c("Ata", "Bia", "Cindy", "Diajeng", "Es", "Fefe", "Gie", "Harits", "Icel", "Jade"),
  nim = c(23040011, 23040012, 23040013, 23040014, 23040015, 23040016, 23040017, 23040018, 23040019, 23040020),
  prodi = c("SSD", "SSD", "SSD", "SSD", "SSD", "SSD", "SSD", "SSD", "SSD", "SSD")
)
kelompok_kkn
##       nama      nim prodi
## 1      Ata 23040011   SSD
## 2      Bia 23040012   SSD
## 3    Cindy 23040013   SSD
## 4  Diajeng 23040014   SSD
## 5       Es 23040015   SSD
## 6     Fefe 23040016   SSD
## 7      Gie 23040017   SSD
## 8   Harits 23040018   SSD
## 9     Icel 23040019   SSD
## 10    Jade 23040020   SSD

Eksperimen pemanggilan isi tabel:

# Pemanggilan satu kolom
kelompok_kkn$nama
##  [1] "Ata"     "Bia"     "Cindy"   "Diajeng" "Es"      "Fefe"    "Gie"    
##  [8] "Harits"  "Icel"    "Jade"
# Pemanggilan satu baris
kelompok_kkn[3, ] 
##    nama      nim prodi
## 3 Cindy 23040013   SSD
# Pemanggilan elemen tertentu (baris ke-5, kolom ke-2)
kelompok_kkn[5, 2]
## [1] 23040015

Interpretasi: 1)Pemanggilan satu kolom - Menggunakan tanda dolar ($) untuk mengambil satu kolom berdasarkan nama kolom. -Hasilnya berupa vektor, bukan data frame. 2)Pemanggilan satu baris - Menggunakan format [baris, ], di mana angka 3 menunjukkan baris ke-3. - Menghasilkan data frame dengan satu baris penuh. 3)Pemanggilan Elemen Tertentu (Baris ke-5, Kolom ke-2) Format [baris, kolom] digunakan untuk mengambil elemen spesifik. [5, 2] berarti mengambil data di baris ke-5 dan kolom ke-2 (nim). Hasilnya berupa nilai tunggal (numeric), bukan 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 dengan missing values (NA)
data_na <- data.frame(
  ID = 1:10,
  Nama = c("Ata", "Bia", "Cindy", "Diajeng", "Es", "Fefe", "Gie", "Harits", "Icel", "Jade"),
  Umur = c(21, NA, 21, 18, 26, 21, NA, 18, 18, 21),
  Nilai = c(95, 90, 100, NA, 92, 70, 45, 85, 95, NA)
)

# Menampilkan data frame
data_na
##    ID    Nama Umur Nilai
## 1   1     Ata   21    95
## 2   2     Bia   NA    90
## 3   3   Cindy   21   100
## 4   4 Diajeng   18    NA
## 5   5      Es   26    92
## 6   6    Fefe   21    70
## 7   7     Gie   NA    45
## 8   8  Harits   18    85
## 9   9    Icel   18    95
## 10 10    Jade   21    NA
# Menentukan letak missing values
is.na(data_na)
##          ID  Nama  Umur Nilai
##  [1,] FALSE FALSE FALSE FALSE
##  [2,] FALSE FALSE  TRUE FALSE
##  [3,] FALSE FALSE FALSE FALSE
##  [4,] FALSE FALSE FALSE  TRUE
##  [5,] FALSE FALSE FALSE FALSE
##  [6,] FALSE FALSE FALSE FALSE
##  [7,] FALSE FALSE  TRUE FALSE
##  [8,] FALSE FALSE FALSE FALSE
##  [9,] FALSE FALSE FALSE FALSE
## [10,] FALSE FALSE FALSE  TRUE
# Menampilkan posisi data yang missing
which(is.na(data_na), arr.ind = TRUE)
##      row col
## [1,]   2   3
## [2,]   7   3
## [3,]   4   4
## [4,]  10   4