Praktikum

Membuat Vektor Karakter

Hewan <- c("kucing", "anjing", "ayam", "sapi")
str(Hewan)
##  chr [1:4] "kucing" "anjing" "ayam" "sapi"

Mengonversi ke Faktor

Hewan_factor <- factor(Hewan)
str(Hewan_factor)
##  Factor w/ 4 levels "anjing","ayam",..: 3 1 2 4
levels(Hewan_factor)
## [1] "anjing" "ayam"   "kucing" "sapi"
table(Hewan_factor)
## Hewan_factor
## anjing   ayam kucing   sapi 
##      1      1      1      1

Membuat Array 3 Dimensi

array_data <- array(1:20, dim = c(3, 4, 2))  
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    2
## [2,]   14   17   20    3
## [3,]   15   18    1    4

Sequence Generation

x <- seq(0,100,length=20)
x
##  [1]   0.000000   5.263158  10.526316  15.789474  21.052632  26.315789
##  [7]  31.578947  36.842105  42.105263  47.368421  52.631579  57.894737
## [13]  63.157895  68.421053  73.684211  78.947368  84.210526  89.473684
## [19]  94.736842 100.000000
y <- seq(1,1000,length=20)
y
##  [1]    1.00000   53.57895  106.15789  158.73684  211.31579  263.89474
##  [7]  316.47368  369.05263  421.63158  474.21053  526.78947  579.36842
## [13]  631.94737  684.52632  737.10526  789.68421  842.26316  894.84211
## [19]  947.42105 1000.00000
set.seed(111)
sample(0:1,1000, replace = TRUE) 
##    [1] 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0
##   [38] 1 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 1 1 1 0
##   [75] 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 1 0 0 1
##  [112] 0 1 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0
##  [149] 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1
##  [186] 0 0 1 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0
##  [223] 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 1 0 0
##  [260] 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 0 1
##  [297] 1 1 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1
##  [334] 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1
##  [371] 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0
##  [408] 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 0 0 1 1 0 1 1 0 1
##  [445] 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1
##  [482] 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0
##  [519] 1 1 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 1
##  [556] 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 0 1 0 1 0 1 1
##  [593] 1 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 1 0 0 0
##  [630] 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0
##  [667] 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1
##  [704] 1 0 0 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1
##  [741] 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1
##  [778] 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 1
##  [815] 1 0 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 0 1 0 0
##  [852] 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
##  [889] 0 0 0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0
##  [926] 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
##  [963] 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 0 1
## [1000] 0

Latihan

Dataframe dengan kolom Nama dan Nilai (minimal 4 baris). Atur nilai pada kolom Nilai sehingga rata-rata (mean) dari nilai tersebut adalah 96.Selanjutnya, tampilkan ringkasan statistik dari dataframe tersebut menggunakan fungsi summary().

data_Nilai_Mahasiswa <- data.frame(
  Nama = c("Rika", "Nadine", "Adel", "Risa"),
  Nilai = c(94,99,96,95)
)
print(data_Nilai_Mahasiswa)
##     Nama Nilai
## 1   Rika    94
## 2 Nadine    99
## 3   Adel    96
## 4   Risa    95
summary(data_Nilai_Mahasiswa)
##      Nama               Nilai      
##  Length:4           Min.   :94.00  
##  Class :character   1st Qu.:94.75  
##  Mode  :character   Median :95.50  
##                     Mean   :96.00  
##                     3rd Qu.:96.75  
##                     Max.   :99.00

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

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

simulasi pelemparan koin sebanyak 30 kali menggunakan fungsi sample() di R, dengan ketentuan sebagai berikut:

Hasil 0 memiliki peluang kemunculan 45% Hasil 1 memiliki peluang kemunculan 55% Gunakan set.seed() agar hasil simulasi dapat direproduksi

set.seed(123)  
sample(0:1,30, prob = c(0.45, 0.55) ,replace = TRUE)
##  [1] 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1

Seorang pemilik UMKM mencatat data penjualan selama beberapa hari. Informasi yang dikumpulkan meliputi Hari, Jumlah Produk Terjual, Harga Satuan, Total Pendapatan. Buat sebuah dataframe dengan keempat kolom tersebut (minimal 4 baris), lalu tampilkan summary().

data_penjualan <- data.frame(
  Hari = c("Senin", "Selasa", "Rabu", "Kamis"),
  Jumlah_Produk_Terjual = c(5, 15, 25, 20),
  Harga_Satuan = c(10000, 15000, 12000, 20000),
  Total_Pendapatan = c(5, 15, 25, 20) * c(10000, 15000, 12000, 20000)
)
data_penjualan
##     Hari Jumlah_Produk_Terjual Harga_Satuan Total_Pendapatan
## 1  Senin                     5        10000            50000
## 2 Selasa                    15        15000           225000
## 3   Rabu                    25        12000           300000
## 4  Kamis                    20        20000           400000
summary(data_penjualan)
##      Hari           Jumlah_Produk_Terjual  Harga_Satuan   Total_Pendapatan
##  Length:4           Min.   : 5.00         Min.   :10000   Min.   : 50000  
##  Class :character   1st Qu.:12.50         1st Qu.:11500   1st Qu.:181250  
##  Mode  :character   Median :17.50         Median :13500   Median :262500  
##                     Mean   :16.25         Mean   :14250   Mean   :243750  
##                     3rd Qu.:21.25         3rd Qu.:16250   3rd Qu.:325000  
##                     Max.   :25.00         Max.   :20000   Max.   :400000