Operasi Dasar

10+15
## [1] 25
20-3
## [1] 17
4*5
## [1] 20
10/2.5
## [1] 4
10^6
## [1] 1e+06

Pembuatan Variabel

p <- 8
q <- 6
r <- 5
s <- (p * q) ^ r
s
## [1] 254803968

Struktur Data Dasar

Vektor Numerik

angka <- c(10, 20, 30, 40, 50)
angka
## [1] 10 20 30 40 50

Vektor Karakter

Negara <- c("Indonesia", "Malaysia", "Singapura", "Vietnam", "Indonesia", "Vietnam")
Negara
## [1] "Indonesia" "Malaysia"  "Singapura" "Vietnam"   "Indonesia" "Vietnam"

Mengonversi ke Faktor dan Menampilkan Strukturnya

Negara_factor <- factor(Negara)
str(Negara_factor)
##  Factor w/ 4 levels "Indonesia","Malaysia",..: 1 2 3 4 1 4

Menampilkan Level yang Ada dalam Faktor

levels(Negara_factor)
## [1] "Indonesia" "Malaysia"  "Singapura" "Vietnam"

Frekuensi Tiap Kategori

table(Negara_factor)
## Negara_factor
## Indonesia  Malaysia Singapura   Vietnam 
##         2         1         1         2

Membuat List yang Berisi Berbagai Jenis Data

data_list <- list(
  angka = c(10, 20, 30, 40),
  teks = c("A", "B", "C"),
  kategori = factor(c("Baik", "Sedang", "Buruk"))
)
data_list
## $angka
## [1] 10 20 30 40
## 
## $teks
## [1] "A" "B" "C"
## 
## $kategori
## [1] Baik   Sedang Buruk 
## Levels: Baik Buruk Sedang

Menampilkan Isi List

print(data_list)
## $angka
## [1] 10 20 30 40
## 
## $teks
## [1] "A" "B" "C"
## 
## $kategori
## [1] Baik   Sedang Buruk 
## Levels: Baik Buruk Sedang

Mengakses Elemen List

data_list$angka
## [1] 10 20 30 40
data_list[[2]]
## [1] "A" "B" "C"

Membuat Array 3 Dimensi

array_data <- array(1:24, dim = c(3, 4, 2))  # Membuat array dengan dimensi 3x4x2
array_data
## , , 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

dim(array_data)
## [1] 3 4 2

Membuat Vektor dengan Nilai NA

nilai <- c(90, 85, NA, 75, 80, NA, 95)  # Membuat vektor dengan beberapa nilai NA
nilai
## [1] 90 85 NA 75 80 NA 95

Fungsi Dasar Statistika pada R

# 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
# Nilai max
max(y)
## [1] 6
#Rata-rata dari vektor y
mean(y)
## [1] 4.333333
#Korelasi antara vektor x dan y
cor(x, y[1:length(x)])
## [1] 1

Simulasi Sampel Acak

# Simulasi pengambilan sampel huruf "A" dan "G" sebanyak 15 kali
set.seed(123)
sample(c("A", "G"), 15, replace = TRUE)  # Simulasi pengambilan sampel huruf "A" dan "G"
##  [1] "A" "A" "A" "G" "A" "G" "G" "G" "A" "A" "G" "G" "G" "A" "G"
set.seed(1)
# Simulasi pelemparan dadu sebanyak 30 kali
sample(1:6, 30, replace = TRUE)  # Simulasi pelemparan dadu sebanyak 30 kali
##  [1] 1 4 1 2 5 3 6 2 3 3 1 5 5 2 6 6 2 1 5 5 1 1 6 5 5 2 2 6 1 4

LATIHAN

  1. Membuat dataframe dengan kolom Nama dan Nilai dengan rata-rata (mean) dari nilai adalah 96, kemudian menampilkan summarynya
data_nilai <- data.frame(
  Nama = c("Nadine", "Rahma", "Budi", "Vino", "Salsa", "Gio", "Alya", "Tito"),
  Nilai = c(94, 96, 100, 96, 90, 100, 98, 94)
)
print(data_nilai)
##     Nama Nilai
## 1 Nadine    94
## 2  Rahma    96
## 3   Budi   100
## 4   Vino    96
## 5  Salsa    90
## 6    Gio   100
## 7   Alya    98
## 8   Tito    94
summary(data_nilai)
##      Nama               Nilai      
##  Length:8           Min.   : 90.0  
##  Class :character   1st Qu.: 94.0  
##  Mode  :character   Median : 96.0  
##                     Mean   : 96.0  
##                     3rd Qu.: 98.5  
##                     Max.   :100.0
  1. Membuat satu barisan sepanjang 12 elemen dengan aturan berulang +3 → ×2 → −1 dengan nilai awal 4.
X <- numeric(12)
X[1] <- 4

pola <- c("+3", "*2", "-1")

for (i in 2:length(X)) {
  aturan <- pola[(i-2) %% length(pola) +1]
  
  if(aturan == "+3") X[i] <- X[i-1] + 3
  if(aturan == "*2") X[i] <- X[i-1] * 2
  if(aturan == "-1") X[i] <- X[i-1] - 1
}

X
##  [1]   4   7  14  13  16  32  31  34  68  67  70 140
  1. Menggunakan fungsi seq() dan rep() di R untuk membentuk satu vektor dengan hasil akhir sebagai berikut:0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6
rep(seq(0,6,length=4),each=2, times=3)
##  [1] 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6
  1. Melakukan simulasi pelemparan koin sebanyak 30 kali menggunakan fungsi sample() di R, di mana hasil 0 memiliki peluang kemunculan 45% dan hasil 1 memiliki peluang kemunculan 55% dengan menggunakan set.seed().
set.seed(123)
sample(c(0:1), size=30, prob=c(0.55, 0.45), replace=TRUE)
##  [1] 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 0 0

5.Seorang pemilik UMKM mencatat data penjualan selama beberapa hari. Informasi yang dikumpulkan meliputi Hari, Jumlah Produk Terjual, Harga Satuan, Total Pendapatan. Dibuatlah data frame dari data tersebut kemudian ditampilkan summarynya.

data_penjualan <- data.frame(
  Hari = c("Senin", "Selasa", "Rabu", "Kamis", "Jumat"),
  Jumlah_terjual = c(150, 175, 100, 98, 128),
  Harga_satuan = c(25000, 35000, 20000, 25000,30000)
)
data_penjualan$Total_pendapatan = data_penjualan$Jumlah_terjual * data_penjualan$Harga_satuan

print(data_penjualan)
##     Hari Jumlah_terjual Harga_satuan Total_pendapatan
## 1  Senin            150        25000          3750000
## 2 Selasa            175        35000          6125000
## 3   Rabu            100        20000          2000000
## 4  Kamis             98        25000          2450000
## 5  Jumat            128        30000          3840000
summary(data_penjualan)
##      Hari           Jumlah_terjual   Harga_satuan   Total_pendapatan 
##  Length:5           Min.   : 98.0   Min.   :20000   Min.   :2000000  
##  Class :character   1st Qu.:100.0   1st Qu.:25000   1st Qu.:2450000  
##  Mode  :character   Median :128.0   Median :25000   Median :3750000  
##                     Mean   :130.2   Mean   :27000   Mean   :3633000  
##                     3rd Qu.:150.0   3rd Qu.:30000   3rd Qu.:3840000  
##                     Max.   :175.0   Max.   :35000   Max.   :6125000