Lompati ke konten utama
Modul 3 · Pelajaran 2 dari 26/10 dalam kursus~15 min
Pelajaran modul (2/2)

Eksplorasi dan Agregasi

R dibuat terutama sebagai lingkungan statistik, sehingga menyediakan banyak fungsi bawaan untuk menganalisis, meringkas, dan memahami distribusi data dalam vektor atau tabel.

Fungsi Statistik Dasar

R memudahkan Anda menghitung ukuran utama pusat dan penyebaran pada vektor numerik:

  • mean(x): Menghitung mean aritmatika elemen.
  • median(x): Menghitung median (nilai tengah).
  • sd(x): Menghitung deviasi standar (ukuran penyebaran data).
  • min(x) dan max(x): Mengembalikan nilai minimum dan maksimum masing-masing.
R
values <- c(10, 12, 15, 18, 20, 22)

avg <- mean(values)
dispersion <- sd(values)

cat("Mean:", avg, "- Std Dev:", round(dispersion, 2), "\n")

Menangani Data yang Hilang (NA)

Di dunia nyata, kumpulan data sering kali berisi nilai yang hilang, yang diwakili dalam R oleh entitas khusus NA (Tidak Tersedia).

Jika Anda mencoba menghitung mean atau agregat lainnya pada vektor yang berisi satu NA, R akan mengembalikan NA sebagai hasilnya. Untuk mengabaikan nilai yang hilang, Anda harus memberikan argumen logis na.rm = TRUE (NA hapus):

R
temperatures <- c(18, 21, NA, 24, 19)

# This will return NA
print(mean(temperatures))

# This will ignore the NA and perform the calculation on valid values
print(mean(temperatures, na.rm = TRUE))

Ringkasan Global dengan summary()

Fungsi summary() adalah alat canggih yang memberikan gambaran statistik lengkap tentang vektor atau seluruh Bingkai Data, yang menunjukkan min, kuartil pertama, median, mean, kuartil ketiga, dan maks:

R
prices <- c(5, 10, 15, 20, 100)
print(summary(prices))

Menggabungkan Data dengan aggregate

Saat bekerja dengan kerangka data, statistik ringkasan (seperti mean atau jumlah) biasanya dihitung untuk kelompok atau kategori tertentu. Fungsi aggregate() di R menyederhanakan proses ini:

R
df <- data.frame(
  department = c("HR", "IT", "HR", "IT"),
  salary = c(3000, 4500, 3200, 4800)
)

# Calcola la media dei salari per dipartimento
avg_salaries <- aggregate(salary ~ department, data = df, FUN = mean)
print(avg_salaries)

Sintaks salary ~ department berarti "menganalisis variabel salary berdasarkan variabel department". Argumen FUN = mean menetapkan bahwa kita ingin menghitung mean aritmatika untuk setiap grup.

Pemfilteran Tingkat Lanjut dengan subset

Fungsi subset() menyediakan cara yang intuitif dan elegan untuk mengekstrak subkumpulan baris dan kolom dari bingkai data, menghindari penggunaan tanda kurung siku yang rumit:

R
employees <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  age = c(25, 34, 29),
  active = c(TRUE, FALSE, TRUE)
)

# Filtra solo i dipendenti attivi con età superiore a 28
active_employees <- subset(employees, active == TRUE & age > 28)

Cobalah sendiri

Latihan#r.m3.l2.e1
Upaya: 0Memuat…

Mengingat suhu vektor, hitung mean dan simpan dalam variabel mean_temp. Kemudian hitung mediannya dan simpan di median_temp.

Memuat editor…
Tunjukkan petunjuk

Menggunakan mean_temp <- mean(suhu) dan median_temp <- median(suhu)

Solusi tersedia setelah 3 upaya

Latihan#r.m3.l2.e2
Upaya: 0Memuat…

Mengingat vektor skor berisi nilai NA, hitung deviasi standar vektor tidak termasuk nilai yang hilang, dan simpan dalam variabel sd_scores.

Memuat editor…
Tunjukkan petunjuk

Gunakan fungsi sd() dengan argumen na.rm = TRUE: sd_scores <- sd(scores, na.rm = TRUE)

Solusi tersedia setelah 3 upaya

Latihan#r.m3.l2.e3
Upaya: 0Memuat…

Mengingat bingkai data df, dapatkan ringkasan statistik dari kolom nilai dan simpan dalam variabel stats_summary.

Memuat editor…
Tunjukkan petunjuk

Ekstrak kolom menggunakan operator $ dan teruskan ke ringkasan(): stats_summary <- ringkasan(df$values)

Solusi tersedia setelah 3 upaya

Latihan#r.m3.l2.e4
Upaya: 0Memuat…

Mengingat kerangka data penjualan, gunakan fungsi agregat() untuk menghitung jumlah (FUN = jumlah) kolom pendapatan yang dikelompokkan berdasarkan kolom wilayah. Simpan hasilnya pada variabel region_sales.

Memuat editor…
Tunjukkan petunjuk

Gunakan: region_sales <- agregat(pendapatan ~ wilayah, data = penjualan, FUN = jumlah)

Solusi tersedia setelah 3 upaya

Latihan#r.m3.l2.e5
Upaya: 0Memuat…

Mengingat produk bingkai data, gunakan fungsi subset() untuk memfilter hanya produk yang termasuk dalam kategori 'Elektronik' (kategori == 'Elektronik') dan memiliki harga lebih dari 100 (harga > 100). Simpan hasilnya pada variabel mahal_elektronik.

Memuat editor…
Tunjukkan petunjuk

Gunakan: mahal_elektronik <- subset(produk, kategori == 'Elektronik' & harga > 100)

Solusi tersedia setelah 3 upaya