Lompati ke konten utama
Modul 4 · Pelajaran 1 dari 27/10 dalam kursus~12 min
Pelajaran modul (1/2)

Memfilter dan Memilih Data

Tidyverse adalah kumpulan paket R yang dirancang untuk ilmu data yang memiliki filosofi, tata bahasa, dan struktur data yang sama. Paket inti untuk manipulasi data dalam suite ini disebut dplyr.

dplyr memperkenalkan serangkaian fungsi ("kata kerja") yang membuat manipulasi bingkai data menjadi sangat intuitif.


Operator Pipa (%>% atau |>)

Filosofi Tidyverse berpusat pada rangkaian operasi bersama-sama. Operator pipa %>% (atau pipa asli |> yang diperkenalkan di R 4.1+) mengambil hasil dari satu ekspresi dan meneruskannya sebagai argumen pertama ke fungsi berikutnya. Hal ini menghindari pemanggilan fungsi bertingkat dan mencegah ruang kerja Anda berantakan dengan variabel sementara.

R
# Without pipe:
filter(select(df, name, age), age > 20)

# With pipe:
df %>%
  select(name, age) %>%
  filter(age > 20)

dplyr Kata Kerja untuk Memfilter dan Memilih

Tiga kata kerja dasar untuk mengekstraksi data dari bingkai data adalah:

1.select()

Memilih kolom tertentu dari bingkai data. Anda dapat membuat daftar nama kolom untuk dipertahankan atau menggunakan awalan - untuk mengecualikan kolom.

R
# Select the 'name' and 'salary' columns
select(df, name, salary)

# Remove the 'address' column
select(df, -address)

2.filter()

Memfilter baris berdasarkan satu atau beberapa kondisi logis.

R
# Filter rows where age is greater than 30
filter(df, age > 30)

# Filter using multiple conditions (logical AND)
filter(df, age > 30, department == "HR")

3.arrange()

Mengurutkan baris berdasarkan nilai dari satu atau beberapa kolom. Urutan penyortiran naik secara default. Untuk mengurutkan dalam urutan menurun, bungkus nama kolom dalam desc().

R
# Sort by age (ascending)
arrange(df, age)

# Sort by salary (descending)
arrange(df, desc(salary))

Cobalah sendiri

Latihan 1: Pilih kolom

Latihan#r.m4.l1.e1
Upaya: 0Memuat…

Mengingat bingkai data df, pilih kolom nama dan usia menggunakan select() dan simpan hasilnya di df_selected.

Memuat editor…
Tunjukkan petunjuk

Amerika: df_selected <- pilih(df, nama, umur)

Solusi tersedia setelah 3 upaya

Latihan#r.m4.l1.e2
Upaya: 0Memuat…

Filter baris bingkai data df dengan kolom usia lebih besar dari 18, simpan hasilnya di df_adults.

Memuat editor…
Tunjukkan petunjuk

Gunakan fungsi filter(df, age > 18) dan tetapkan hasilnya ke df_adults.

Solusi tersedia setelah 3 upaya

Latihan#r.m4.l1.e3
Upaya: 0Memuat…

Gunakan operator pipa %>% untuk merangkai operasi: filter pertama df hanya menyimpan catatan dengan usia > 18, lalu pilih kolom nama. Simpan hasilnya di res.

Memuat editor…
Tunjukkan petunjuk

Penulisan: res <- df %>% filter(umur > 18) %>% pilih(nama)

Solusi tersedia setelah 3 upaya

Latihan#r.m4.l1.e4
Upaya: 0Memuat…

Urutkan baris-baris data frame df berdasarkan kolom gaji dalam urutan menurun menggunakan arrange() dan desc(). Simpan hasilnya di df_sorted.

Memuat editor…
Tunjukkan petunjuk

Kami mengatur(desc(gaji)) seluruh bagian dalam saluran pipa atau datang ke argumen langsung.

Solusi tersedia setelah 3 upaya

Latihan#r.m4.l1.e5
Upaya: 0Memuat…

Tulis alur lengkap di df: filter catatan di mana departemen sama dengan 'IT', pilih kolom nama dan gaji, dan urutkan hasilnya berdasarkan gaji (menaik). Simpan hasil akhir di res.

Memuat editor…
Tunjukkan petunjuk

Gunakan pipa %>% untuk menyaring rantai (departemen == 'IT'), pilih (nama, gaji), dan atur (gaji).

Solusi tersedia setelah 3 upaya