# Menyimpan dan menampilkan nilai vektor numerik
simpan = c(10, 20, 40, 15, 40)
simpan
## [1] 10 20 40 15 40
# Menimpa variabel dengan data ribuan
simpan = c(1000, 2000, 3000, 4000, 5000)
simpan
## [1] 1000 2000 3000 4000 5000
simpan = c(10, 20, 40, 15, 40)

# Mengakses posisi/indeks ke-3
simpan[3]
## [1] 40
# Mengakses posisi ke-4
simpan[4]
## [1] 15
# Mengakses posisi ke-1, 3, dan 4 sekaligus
simpan[c(1, 3, 4)]
## [1] 10 40 15
# Mengakses rentang posisi ke-2 sampai ke-4
simpan[2:4]
## [1] 20 40 15
simpan = c(10, 20, 40, 15, 40)
simpan
## [1] 10 20 40 15 40
# Mengubah elemen ke-3 menjadi 100 dan elemen ke-4 menjadi 10000
simpan[3] = 100
simpan[4] = 10000
simpan
## [1]    10    20   100 10000    40
NILAI = c(10, 40, 45, 30, 80)
NILAI
## [1] 10 40 45 30 80
# Menghapus elemen ke-3
NILAI = NILAI[-3]
NILAI
## [1] 10 40 30 80
# Menghapus elemen ke-4
NILAI = NILAI[-4]
NILAI
## [1] 10 40 30
# Menghapus elemen ke-1 dan ke-3 sekaligus
NILAI = NILAI[c(-1, -3)]
NILAI
## [1] 40
NILAI = c(100, 95, 70, 80, 25, 60, 80, 60, 55, 90)
NILAI
##  [1] 100  95  70  80  25  60  80  60  55  90
# Operator > (lebih besar dari 80)
NILAI[NILAI > 80]
## [1] 100  95  90
# Operator < (lebih kecil dari 70)
NILAI[NILAI < 70]
## [1] 25 60 60 55
# Operator & (dan: nilai antara 60 dan 80)
NILAI[NILAI > 60 & NILAI < 80]
## [1] 70
# Operator | (atau: nilai > 80 atau nilai < 30)
NILAI[NILAI > 80 | NILAI < 30]
## [1] 100  95  25  90
# Memperbarui variabel dengan filter < 75
NILAI = NILAI[NILAI < 75]
NILAI
## [1] 70 25 60 60 55
# Memperbarui variabel dengan filter > 90
NILAI = c(100, 95, 70, 80, 25, 60, 80, 60, 55, 90)
NILAI = NILAI[NILAI > 90]
NILAI
## [1] 100  95
fungsi = function(x) {
  for(i in 1:length(x)) {
    if(x[i] < 65) {
      x[i] = x[i] + 10
    }
    print(x[i])
  }
}

A = c(100, 95, 70, 80, 25, 60, 80, 60, 55, 90)
fungsi(A)
## [1] 100
## [1] 95
## [1] 70
## [1] 80
## [1] 35
## [1] 70
## [1] 80
## [1] 70
## [1] 65
## [1] 90
# Jenis Data Numeric
mode(1000)
## [1] "numeric"
simpan = c(1000)
mode(simpan)
## [1] "numeric"
# Jenis Data Character
mode("HALO")
## [1] "character"
simpan = c("HALO")
mode(simpan)
## [1] "character"
# Jenis Data Logical
d = c(F)
d
## [1] FALSE
a = c(T)
a
## [1] TRUE
mode(d)
## [1] "logical"
mode(a)
## [1] "logical"
# Jenis Data Function
kuadrat = function(x) {
  print(x * x)
}
A = c(4)
kuadrat(A)
## [1] 16
mode(kuadrat)
## [1] "function"
# Penjumlahan Vektor
A = c(1, 2, 3)
B = c(4, 5, 6)
C = A + B
C
## [1] 5 7 9
# Penjumlahan Skalar dan Vektor
A = c(1, 2, 3)
B = 2 + A
B
## [1] 3 4 5
# Pengurangan Vektor
A = c(2, 4, 6)
B = c(1, 3, 5)
B - A
## [1] -1 -1 -1
# Perkalian Skalar
A = c(4, 8, 12)
A * 0.5
## [1] 2 4 6
# Pembagian Vektor
A = c(4, 8, 12)
B = c(2, 2, 2)
A / B
## [1] 2 4 6
# Pemangkatan Vektor
A = c(3, 6, 1)
B = c(2, 2, 0)
A ^ B
## [1]  9 36  1
# Modulo (Sisa Bagi)
A = c(5, 2, 7)
B = c(3, 2, 6)
C = A %% B
C
## [1] 2 0 1
# Menghitung panjang/banyak elemen
A = c(100, 70, 80, 55, 80, 70, 80)
length(A)
## [1] 7
# Mengurutkan data
A = c(70, 80, 50, 25, 100, 60)
sort(A)
## [1]  25  50  60  70  80 100
# Menghitung selisih elemen berurutan
A = c(100, 50, 70, 80, 60)
diff(A)
## [1] -50  20  10 -20
# Menjumlahkan seluruh data
A = c(50, 60, 70, 80)
sum(A)
## [1] 260
# Menghitung akar kuadrat
a = sqrt(81)
a
## [1] 9
b = sqrt(a)
b
## [1] 3
# Mencari nilai maksimum dan minimum
A = c(10, 25, 90, 75, 95, 57)
max(A)
## [1] 95
min(A)
## [1] 10
# Menghitung eksponensial (e^x)
exp(1)
## [1] 2.718282
exp(2)
## [1] 7.389056
# Konstanta pi
pi
## [1] 3.141593
# Mengatur tampilan digit desimal
options(digits = 3)
pi
## [1] 3.14
options(digits = 10)
pi
## [1] 3.141592654
# Deret angka 1 sampai 10
seq(from = 1, to = 10)
##  [1]  1  2  3  4  5  6  7  8  9 10
# Deret kelipatan 0.5 dengan panjang 4 angka
seq(from = 2, by = 0.5, length.out = 4)
## [1] 2.0 2.5 3.0 3.5
# Fungsi buatan perulangan deret kelipatan
panggil = function(x, y, z) {
  a = x
  print(a)
  for(i in x:z) {
    a = a + y
    if(a > z) {
      break
    }
    print(a)
  }
}
panggil(2, 3, 30)
## [1] 2
## [1] 5
## [1] 8
## [1] 11
## [1] 14
## [1] 17
## [1] 20
## [1] 23
## [1] 26
## [1] 29
# Bentuk cepat deret kelipatan 3 dari 2 sampai 30
seq(2, 30, 3)
##  [1]  2  5  8 11 14 17 20 23 26 29
# Tabel frekuensi dan proporsi (data numerik)
A = c(10, 10, 30, 10, 30, 10, 10, 40, 40, 70, 90, 70, 80, 60, 60, 90)
table(A)
## A
## 10 30 40 60 70 80 90 
##  5  2  2  2  2  1  2
table(A) / length(A)
## A
##     10     30     40     60     70     80     90 
## 0.3125 0.1250 0.1250 0.1250 0.1250 0.0625 0.1250
# Tabel frekuensi dan proporsi (data teks/survei)
hasil = c("ya", "tidak", "ya", "ya", "ya", "ya", "tidak", "ya", "tidak", "ya")
table(hasil)
## hasil
## tidak    ya 
##     3     7
table(hasil) / length(hasil)
## hasil
## tidak    ya 
##   0.3   0.7
# Mengelompokkan faktor / kategori (level)
A = c("ikan", "ikan", "udang", "ikan", "udang", "ikan", "ikan", "udang")
factor(A)
## [1] ikan  ikan  udang ikan  udang ikan  ikan  udang
## Levels: ikan udang
A = c("sarjana", "diploma", "sarjana", "pengangguran", "sarjana", "diploma", "diploma", "pengangguran")
factor(A)
## [1] sarjana      diploma      sarjana      pengangguran sarjana     
## [6] diploma      diploma      pengangguran
## Levels: diploma pengangguran sarjana
# Diagram Batang (Frekuensi & Proporsi)
A = c(10, 10, 10, 10, 20, 20, 30, 30, 30, 30, 30, 30)
barplot(table(A))

barplot(table(A) / length(A))

# Plot Titik Frekuensi
A = c(10, 10, 10, 10, 10, 20, 20, 20, 30, 30, 40)
table(A)
## A
## 10 20 30 40 
##  5  3  2  1
nilai = c(10, 20, 30, 40)
frekuensi = c(5, 3, 2, 1)
plot(nilai, frekuensi)

# Plot garis vertikal frekuensi langsung dari tabel
plot(table(A))