Struktur data adalah cara untuk menyimpan dan mengatur data dalam memori komputer sehingga dapat diakses dan dimanipulasi secara efisien. R menyediakan berbagai struktur data yang fleksibel untuk menangani berbagai jenis data.
Vektor adalah struktur data paling dasar di R. Vektor adalah urutan elemen dari tipe data yang sama. Jika kita mencoba menggabungkan elemen dengan tipe data yang berbeda, R akan secara otomatis mengkonversi semua elemen ke tipe data yang paling fleksibel (misalnya, angka akan dikonversi menjadi karakter jika ada karakter dalam vektor).
Kita dapat membuat vektor menggunakan fungsi c() (combine atau concatenate).
Contoh Membuat Vektor :
# Vektor numerik angka <- c(1, 5, 8, 12, 20) print(angka) print(class(angka)) # Vektor karakter buah <- c("apel", "pisang", "jeruk", "mangga") print(buah) print(class(buah)) # Vektor logis status <- c(TRUE, FALSE, TRUE, TRUE) print(status) print(class(status)) # Vektor dengan tipe data campuran (akan dikonversi) campuran <- c(1, "dua", TRUE) print(campuran) print(class(campuran)) # Output: "character"

Mengakses Elemen Vektor:
Elemen dalam vektor dapat diakses menggunakan indeks dalam kurung siku ([ ]). Penting untuk diingat bahwa di R, indeks dimulai dari 1, bukan 0 seperti di beberapa bahasa pemrograman lain.
Operasi pada Vektor:
Operasi aritmatika pada vektor dilakukan secara elemen-wise.
vektor_a <- c(1, 2, 3) vektor_b <- c(4, 5, 6) # Penjumlahan vektor penjumlahan <- vektor_a + vektor_b print(penjumlahan) # Output: 5 7 9 # Perkalian vektor dengan skalar perkalian_skalar <- vektor_a * 2 print(perkalian_skalar) # Output: 2 4 6 # Fungsi statistik pada vektor mean_val <- mean(vektor_a) sum_val <- sum(vektor_b) print(paste("Rata-rata vektor_a:", mean_val)) print(paste("Jumlah vektor_b:", sum_val))
2. Matriks
Matriks adalah array dua dimensi yang semua elemennya memiliki tipe data yang sama. Matriks memiliki baris dan kolom. Kita dapat membuat matriks menggunakan fungsi matrix().
Sintaks Dasar matrix():
matrix(data, nrow, ncol, byrow = FALSE)
- data: Vektor yang berisi elemen-elemen matriks.
-
nrow: Jumlah baris.
-
ncol: Jumlah kolom.
-
byrow: Jika TRUE, matriks diisi berdasarkan baris; jika FALSE (default), diisi berdasarkan kolom.
Contoh Membuat Matriks :
# Membuat matriks 3x2 (diisi berdasarkan kolom secara default) matriks_1 <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 3, ncol = 2) print(matriks_1) # Output: # [,1] [,2] # [1,] 1 4 # [2,] 2 5 # [3,] 3 6 # Membuat matriks 2x3 (diisi berdasarkan baris) matriks_2 <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3, byrow = TRUE) print(matriks_2) # Output: # [,1] [,2] [,3] # [1,] 1 2 3 # [2,] 4 5 6
Mengakses Elemen Matriks:
Elemen matriks diakses menggunakan indeks baris dan kolom dalam kurung siku [baris, kolom].
matriks_data <- matrix(c(10, 20, 30, 40, 50, 60), nrow = 3, ncol = 2, byrow = TRUE) print(matriks_data) # Mengakses elemen pada baris 2, kolom 1 print(matriks_data[2, 1]) # Output: 30 # Mengakses seluruh baris 1 print(matriks_data[1, ]) # Output: 10 20 # Mengakses seluruh kolom 2 print(matriks_data[, 2]) # Output: 20 40 60 # Mengakses beberapa elemen (baris 1 dan 3, kolom 2) print(matriks_data[c(1, 3), 2]) # Output: 20 60
Operasi Matriks:
R mendukung berbagai operasi matriks seperti penjumlahan, perkalian, dan transpos.
mat_a <- matrix(c(1, 2, 3, 4), nrow = 2) mat_b <- matrix(c(5, 6, 7, 8), nrow = 2) # Penjumlahan matriks print(mat_a + mat_b) # Perkalian matriks (dot product) print(mat_a %*% mat_b) # Transpos matriks print(t(mat_a))
3. Array
Array adalah struktur data yang dapat menyimpan data dalam lebih dari dua dimensi (misalnya, 3D, 4D, dan seterusnya). Semua elemen dalam array harus memiliki tipe data yang sama. Matriks adalah kasus khusus dari array dengan dua dimensi [1].
Sintaks Dasar array():
array(data, dim)
- data: Vektor yang berisi elemen-elemen array.
- dim: Vektor yang menentukan dimensi array (misalnya, c(2, 3, 4) untuk array 2x3x4).
Contoh Membuat Array:
# Membuat array 2x3x2 array_3d <- array(1:12, dim = c(2, 3, 2)) print(array_3d) # Output: # , , 1 # # [,1] [,2] [,3] # [1,] 1 3 5 # [2,] 2 4 6 # # , , 2 # # [,1] [,2] [,3] # [1,] 7 9 11 # [2,] 8 10 12
Mengakses Elemen Array:
Elemen array diakses dengan menyediakan indeks untuk setiap dimensi.
# Mengakses elemen pada baris 1, kolom 2, dimensi 1 print(array_3d[1, 2, 1]) # Output: 3 # Mengakses seluruh baris 2 dari dimensi 2 print(array_3d[2, , 2]) # Output: 8 10 12
4. List
List adalah struktur data yang sangat fleksibel di R. Berbeda dengan vektor, list dapat menyimpan elemen dari berbagai tipe data dan bahkan struktur data lain (seperti vektor, matriks, data frame, atau list lain) dalam satu objek. Setiap elemen dalam list dapat memiliki nama.
Contoh Membuat List:
# Membuat list sederhana list_saya <- list("nama" = "Alice", "umur" = 30, "hobi" = c("membaca", "berenang"), "matriks" = matrix(1:4, nrow = 2)) print(list_saya)
Mengakses Elemen List:
Elemen list dapat diakses dengan beberapa cara:
- •Menggunakan indeks numerik dengan kurung siku ganda ([[]]): Mengembalikan elemen itu sendiri.
-
Menggunakan nama elemen dengan operator $: Cara paling umum dan mudah dibaca.
-
Menggunakan nama elemen dengan kurung siku ganda ([[]]) dan tanda kutip: Alternatif untuk operator $.
# Mengakses elemen "nama" menggunakan operator $ print(list_saya$nama) # Output: "Alice" # Mengakses elemen "umur" menggunakan indeks numerik print(list_saya[[2]]) # Output: 30 # Mengakses elemen "hobi" menggunakan nama dengan kurung siku ganda print(list_saya[["hobi"]]) # Output: "membaca" "berenang" # Mengakses elemen spesifik di dalam elemen list (misalnya, hobi pertama) print(list_saya$hobi[1]) # Output: "membaca"
5. Data Frame
Data frame adalah struktur data yang paling sering digunakan untuk menyimpan data tabular di R. Data frame adalah list dari vektor-vektor dengan panjang yang sama, di mana setiap vektor mewakili sebuah kolom dan setiap baris mewakili sebuah observasi. Setiap kolom dalam data frame dapat memiliki tipe data yang berbeda, mirip dengan tabel dalam database atau spreadsheet.
Sintaks Dasar data.frame():
data.frame(kolom1 = vektor1, kolom2 = vektor2, ...)
Contoh Membuat Data Frame:
# Membuat data frame dari beberapa vektor df_mahasiswa <- data.frame( Nama = c("Budi", "Siti", "Andi", "Dewi"), Usia = c(20, 21, 20, 22), Jurusan = c("TI", "Statistika", "TI", "Matematika"), IPK = c(3.5, 3.8, 3.2, 3.9) ) print(df_mahasiswa)
Mengakses Elemen Data Frame:
Anda dapat mengakses kolom, baris, atau elemen individual dalam data frame.
- Mengakses Kolom:
-
-
Menggunakan operator $ (paling umum): df$NamaKolom
-
Menggunakan kurung siku ganda [[]]: df[[“NamaKolom”]]
-
Menggunakan kurung siku tunggal [] dengan nama kolom: df[“NamaKolom”] (mengembalikan data frame)
-
# Mengakses kolom 'Nama' print(df_mahasiswa$Nama) print(df_mahasiswa[["Usia"]]) print(df_mahasiswa["Jurusan"])
-
Mengakses Baris:
-
- Menggunakan indeks numerik: df[indeks_baris, ]
# Mengakses baris pertama print(df_mahasiswa[1, ]) # Mengakses baris kedua dan keempat print(df_mahasiswa[c(2, 4), ])
- Mengakses Elemen Spesifik:
-
- Menggunakan indeks baris dan kolom: df[indeks_baris, indeks_kolom]
# Mengakses IPK mahasiswa ketiga print(df_mahasiswa[3, 4]) # Output: 3.2
- Manipulasi Data Frame Dasar:
# Menambahkan kolom baru df_mahasiswa$Tahun_Masuk <- c(2023, 2022, 2023, 2021) print(df_mahasiswa) # Menghapus kolom df_mahasiswa$Tahun_Masuk <- NULL print(df_mahasiswa) # Memfilter baris (akan dibahas lebih lanjut di bagian dplyr) df_ti <- df_mahasiswa[df_mahasiswa$Jurusan == "TI", ] print(df_ti)
6. Faktor
Faktor adalah struktur data khusus di R yang digunakan untuk menyimpan data kategorikal. Data kategorikal adalah data yang memiliki nilai terbatas dan biasanya tidak berurutan (nominal) atau berurutan (ordinal). Faktor sangat penting untuk pemodelan statistik di R.
Contoh Membuat Faktor:
# Membuat vektor karakter level_pendidikan <- c("SD", "SMP", "SMA", "SMP", "SD", "SMA", "Perguruan Tinggi") # Mengkonversi menjadi faktor faktor_pendidikan <- factor(level_pendidikan) print(faktor_pendidikan) print(class(faktor_pendidikan)) # Melihat level (kategori unik) dari faktor print(levels(faktor_pendidikan))
Faktor Berurutan (Ordered Factors):
Kita dapat menentukan urutan level dalam faktor menggunakan argumen ordered = TRUE dan levels.
# Membuat faktor berurutan faktor_pendidikan_ordered <- factor(level_pendidikan, levels = c("SD", "SMP", "SMA", "Perguruan Tinggi"), ordered = TRUE) print(faktor_pendidikan_ordered) print(is.ordered(faktor_pendidikan_ordered))
Faktor sangat berguna ketika kita ingin melakukan analisis statistik yang melibatkan variabel kategorikal, karena R akan memperlakukannya dengan benar dalam model.
Referensi :
- https://bookdown.org/moh_rosidi2610/Metode_Numerik
Be the first to comment