Pertanyaan 1: Membuat Deret Bilangan dalam R

Dalam R, deret bilangan dapat dibuat menggunakan beberapa fungsi, antara lain:

  • : -> untuk deret bilangan bulat berurutan
  • seq() -> untuk deret bilangan dengan pola tertentu (pertambahan/penurunan tertentu)
  • c() -> untuk menuliskan elemen secara langsung
  • rep() -> untuk mengulang elemen tertentu

a) Deret a = [5 6 7 8 9 10]

Deret bilangan bulat berurutan dari 5 sampai 10. Dapat dibuat menggunakan operator :.

a <- 5:10
a
## [1]  5  6  7  8  9 10

b) Deret b = [10 8 6 4 2]

Deret bilangan menurun dari 10 ke 2 dengan pertambahan -2. Dibuat menggunakan fungsi seq() dengan argumen by = -2.

b <- seq(10, 2, by = -2)
b
## [1] 10  8  6  4  2

c) Deret c = [0.0 0.2 0.4 0.6 0.8 1.0]

Deret bilangan riil dari 0.0 sampai 1.0 dengan pertambahan 0.2. Dibuat menggunakan seq().

c <- seq(0.0, 1.0, by = 0.2)
c
## [1] 0.0 0.2 0.4 0.6 0.8 1.0

d) Deret d = [3 3 3 7 7 7 9 9]

Deret bilangan yang terdiri atas pengulangan nilai 3 sebanyak 3 kali, nilai 7 sebanyak 3 kali, dan nilai 9 sebanyak 2 kali. Dibuat menggunakan fungsi rep() dan digabung dengan c().

d <- c(rep(3, 3), rep(7, 3), rep(9, 2))
d
## [1] 3 3 3 7 7 7 9 9

e) Deret e = [1 2 1 2 1 2 1 2]

Deret bilangan yang mengulang pola c(1, 2) sebanyak 4 kali. Dibuat menggunakan fungsi rep() dengan argumen times = 4.

e <- rep(c(1, 2), times = 4)
e
## [1] 1 2 1 2 1 2 1 2

Pertanyaan 2: Membuat Data Frame Mahasiswa

Data frame adalah objek dalam R yang menyerupai tabel, di mana setiap kolom dapat memiliki tipe data yang berbeda. Ini adalah jenis objek yang sering digunakan dalam analisis data.

Data frame mahasiswa dibuat dengan spesifikasi:

  • Kolom jurusan: "Statistika", "Matematika", "Fisika"
  • Kolom kota: "Jakarta", "Bandung", "Surabaya"
  • Kolom angkatan: rentang 2021–2024
mahasiswa <- data.frame(
  jurusan  = c("Statistika", "Matematika", "Fisika"),
  kota     = c("Jakarta", "Bandung", "Surabaya"),
  angkatan = c(2021, 2022, 2023)
)

mahasiswa
##      jurusan     kota angkatan
## 1 Statistika  Jakarta     2021
## 2 Matematika  Bandung     2022
## 3     Fisika Surabaya     2023

Melihat Struktur dan Informasi Data Frame

Untuk memverifikasi tipe data dan struktur dari data frame yang dibuat, kita dapat menggunakan fungsi str() dan summary().

str(mahasiswa)
## 'data.frame':    3 obs. of  3 variables:
##  $ jurusan : chr  "Statistika" "Matematika" "Fisika"
##  $ kota    : chr  "Jakarta" "Bandung" "Surabaya"
##  $ angkatan: num  2021 2022 2023
summary(mahasiswa)
##    jurusan              kota              angkatan   
##  Length:3           Length:3           Min.   :2021  
##  Class :character   Class :character   1st Qu.:2022  
##  Mode  :character   Mode  :character   Median :2022  
##                                        Mean   :2022  
##                                        3rd Qu.:2022  
##                                        Max.   :2023

Mengakses Kolom Data Frame

Setiap kolom pada data frame dapat diakses menggunakan operator $.

Mengakses kolom jurusan

mahasiswa$jurusan
## [1] "Statistika" "Matematika" "Fisika"

Mengakses kolom kota

mahasiswa$kota
## [1] "Jakarta"  "Bandung"  "Surabaya"

Mengakses kolom angkatan

mahasiswa$angkatan
## [1] 2021 2022 2023

Pertanyaan 3: Dua Contoh Penggunaan Program R (Materi Sesi 2)

Berdasarkan materi Sesi 2 - Data dalam Sistem R (Modul SATS4111), berikut adalah dua contoh yang mencakup pembuatan objek dan manipulasi data dengan operasi dasar aritmetika.


Contoh 1: Membuat Deret Data dan Operasi Aritmetika pada Vektor

Contoh ini mendemonstrasikan pembuatan vektor menggunakan fungsi seq() dan rep(), kemudian melakukan operasi aritmetika dasar (+, -, *, /, ^) pada vektor tersebut sesuai dengan materi Kegiatan Belajar 3: Membuat Data dalam R.

Membuat vektor bilangan dengan seq()

nilai <- seq(2, 10, by = 2)
cat("Vektor nilai:\n"); nilai
## Vektor nilai:
## [1]  2  4  6  8 10

Operasi aritmetika pada vektor

tambah    <- nilai + 5
kurang    <- nilai - 1
kali      <- nilai * 3
bagi      <- nilai / 2
pangkat   <- nilai ^ 2

cat("Hasil nilai + 5:\n"); tambah
## Hasil nilai + 5:
## [1]  7  9 11 13 15
cat("Hasil nilai - 1:\n"); kurang
## Hasil nilai - 1:
## [1] 1 3 5 7 9
cat("Hasil nilai * 3:\n"); kali
## Hasil nilai * 3:
## [1]  6 12 18 24 30
cat("Hasil nilai / 2:\n"); bagi
## Hasil nilai / 2:
## [1] 1 2 3 4 5
cat("Hasil nilai ^ 2:\n"); pangkat
## Hasil nilai ^ 2:
## [1]   4  16  36  64 100

Statistik deskriptif sederhana

cat("Panjang (length) :", length(nilai), "\n")
## Panjang (length) : 5
cat("Nilai minimum    :", min(nilai), "\n")
## Nilai minimum    : 2
cat("Nilai maksimum   :", max(nilai), "\n")
## Nilai maksimum   : 10
cat("Jumlah (sum)     :", sum(nilai), "\n")
## Jumlah (sum)     : 30
cat("Rata-rata (mean) :", mean(nilai), "\n")
## Rata-rata (mean) : 6
cat("Mode (tipe data) :", mode(nilai), "\n")
## Mode (tipe data) : numeric

Contoh 2: Membuat Data Acak dan Menginspeksi Tipe Objek

Contoh ini mendemonstrasikan pembuatan data acak menggunakan fungsi rnorm() dan rbinom() sesuai materi Tabel 3.7 - Fungsi untuk Membangun Data Acak, serta menginspeksi jenis atau tipe objek menggunakan class(), mode(), dan length() sesuai Kegiatan Belajar 1: Jenis-Jenis Objek dan Operasi Dasar Aritmetika dalam R.

Membangkitkan 10 data acak berdistribusi Normal

set.seed(42)
data_normal <- rnorm(n = 10, mean = 70, sd = 10)
cat("Data acak distribusi Normal (n=10, mean=70, sd=10):\n")
## Data acak distribusi Normal (n=10, mean=70, sd=10):
round(data_normal, 2)
##  [1] 83.71 64.35 73.63 76.33 74.04 68.94 85.12 69.05 90.18 69.37

Membangkitkan 10 data acak berdistribusi Binomial

data_binomial <- rbinom(n = 10, size = 5, prob = 0.4)
cat("\nData acak distribusi Binomial (n=10, size=5, prob=0.4):\n")
## 
## Data acak distribusi Binomial (n=10, size=5, prob=0.4):
data_binomial
##  [1] 3 1 4 4 1 2 2 3 2 3

Inspeksi Objek data_normal

cat("class()  :", class(data_normal),  "\n")
## class()  : numeric
cat("mode()   :", mode(data_normal),   "\n")
## mode()   : numeric
cat("length() :", length(data_normal), "\n")
## length() : 10

Inspeksi Objek data_binomial

cat("class()  :", class(data_binomial),  "\n")
## class()  : integer
cat("mode()   :", mode(data_binomial),   "\n")
## mode()   : numeric
cat("length() :", length(data_binomial), "\n")
## length() : 10

Statistik deskriptif data normal

cat("Mean    :", round(mean(data_normal), 4),   "\n")
## Mean    : 75.473
cat("Std Dev :", round(sd(data_normal), 4),     "\n")
## Std Dev : 8.3545
cat("Min     :", round(min(data_normal), 4),    "\n")
## Min     : 64.353
cat("Max     :", round(max(data_normal), 4),    "\n")
## Max     : 90.1842