Data Frame
Data frame adalah struktur data berbentuk tabel. Di R, data frame sering digunakan untuk analisis data karena setiap kolom bisa memiliki tipe data yang berbeda.
Membuat Data Frame
data_mahasiswa <- data.frame(
nama = c("Budi", "Ani", "Citra"),
kelas = c("A", "A", "B"),
nilai = c(80, 90, 75)
)
print(data_mahasiswa)
Penjelasan: Setiap argumen di dalam
data.frame()menjadi satu kolom.
Melihat Isi Data
print(head(data_mahasiswa))
print(str(data_mahasiswa))
print(summary(data_mahasiswa))
Beberapa fungsi yang sering digunakan:
head()untuk melihat data bagian awal.str()untuk melihat struktur data.summary()untuk melihat ringkasan data.
Mengambil Kolom
print(data_mahasiswa$nama)
print(data_mahasiswa["nilai"])
print(data_mahasiswa[, c("nama", "nilai")])
Penjelasan: Operator
$sering digunakan untuk mengambil satu kolom berdasarkan nama.
Menambahkan Kolom Baru
data_mahasiswa$status <- ifelse(data_mahasiswa$nilai >= 75, "Lulus", "Belum lulus")
print(data_mahasiswa)
Penjelasan:
ifelse()membuat pilihan berdasarkan kondisi untuk setiap baris.
Contoh Rekap Nilai Mahasiswa
data_mahasiswa <- data.frame(
nama = c("Budi", "Ani", "Citra", "Dina"),
nilai = c(80, 90, 70, 85)
)
rata_rata <- mean(data_mahasiswa$nilai)
nilai_tertinggi <- max(data_mahasiswa$nilai)
nilai_terendah <- min(data_mahasiswa$nilai)
print(rata_rata)
print(nilai_tertinggi)
print(nilai_terendah)
Menghitung Xbar dan R
Dalam beberapa soal pengolahan data, kita diminta menghitung rata-rata dan range dari beberapa kolom, misalnya x1 sampai x5.
data <- data.frame(
x1 = c(10, 9, 15),
x2 = c(12, 10, 14),
x3 = c(11, 12, 16),
x4 = c(13, 11, 15),
x5 = c(14, 13, 17)
)
kolom_x <- data[, c("x1", "x2", "x3", "x4", "x5")]
data$xbar <- rowMeans(kolom_x)
data$R <- apply(kolom_x, 1, max) - apply(kolom_x, 1, min)
print(data)
Penjelasan:
rowMeans()menghitung rata-rata per baris.apply(kolom_x, 1, max)mengambil nilai terbesar per baris.
Menghitung BKA, BKB, dan Status
rata_rata_xbar <- mean(data$xbar)
rata_rata_R <- mean(data$R)
bka <- rata_rata_xbar + (0.577 * rata_rata_R)
bkb <- rata_rata_xbar - (0.577 * rata_rata_R)
data$BKA <- bka
data$BKB <- bkb
data$status <- ifelse(data$xbar <= bka & data$xbar >= bkb, "Terkendali", "Tidak terkendali")
print(data)
Penjelasan: BKA dan BKB dihitung dari rata-rata
xbardan rata-rataR, lalu status ditentukan menggunakanifelse().
Moving Average
moving_average <- function(data, ukuran_window) {
hasil <- c()
for (i in 1:(length(data) - ukuran_window + 1)) {
rata_rata <- mean(data[i:(i + ukuran_window - 1)])
hasil <- c(hasil, rata_rata)
}
return(hasil)
}
nilai <- c(10, 12, 11, 13, 14, 15)
print(moving_average(nilai, 3))
Menyimpan Data Frame
write.csv(data, "hasil_pengolahan.csv", row.names = FALSE)
Latihan Singkat
Coba buat program sederhana dengan ketentuan berikut:
- Buat data frame berisi 5 kolom data angka dan minimal 5 baris.
- Hitung
xbaratau rata-rata setiap baris. - Hitung
Ratau range setiap baris. - Hitung rata-rata dari
xbar. - Hitung rata-rata dari
R. - Hitung BKA dan BKB.
- Tentukan status
"Terkendali"atau"Tidak terkendali"menggunakanifelse(). - Buat fungsi
moving_average().