Lewati ke konten utama

Tingkat Faktor di R

Tutorial ini mengambil materi kursus dari kursus Intro to R gratis DataCamp dan memungkinkan Anda berlatih Faktor.
Diperbarui 28 Sep 2026  · 6 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Jika Anda ingin mengikuti kursus Intro to R gratis kami, berikut tautannya.

Tingkat Faktor

Saat pertama kali mendapatkan sebuah himpunan data, Anda sering melihat bahwa di dalamnya terdapat faktor dengan tingkat faktor tertentu. Namun, terkadang Anda ingin mengubah nama tingkat tersebut demi kejelasan atau alasan lainnya. R memungkinkan Anda melakukan ini dengan fungsi levels():

levels(factor_vector) <- c("name1", "name2",...)

Ilustrasi yang baik adalah data mentah yang diberikan oleh sebuah survei. Pertanyaan umum dalam setiap kuesioner adalah jenis kelamin responden. Di sini, demi kesederhanaan, hanya dua kategori yang dicatat, "M" dan "F". (Biasanya Anda membutuhkan lebih banyak kategori untuk data survei; bagaimanapun, Anda menggunakan faktor untuk menyimpan data kategorikal.)

survey_vector <- c("M", "F", "F", "M", "M")

Mencatat jenis kelamin dengan singkatan "M" dan "F" bisa jadi praktis jika Anda mengumpulkan data dengan pena dan kertas, tetapi dapat menimbulkan kebingungan saat menganalisis data. Pada tahap itu, Anda sering ingin mengubah tingkat faktor menjadi "Male" dan "Female" alih-alih "M" dan "F" demi kejelasan.

Perhatikan: urutan saat Anda menetapkan tingkat sangat penting. Jika Anda mengetik levels(factor_survey_vector), Anda akan melihat keluarannya [1] "F" "M". Jika Anda tidak menentukan tingkat faktor saat membuat vektor, R akan menetapkannya secara alfabetis. Untuk memetakan "F" ke "Female" dan "M" ke "Male" dengan benar, tingkatnya harus diatur menjadi c("Female", "Male"), dalam urutan ini.

Instruksi

  • Periksa kode yang membangun vektor faktor dari survey_vector. Anda harus menggunakan factor_survey_vector pada instruksi berikutnya.
  • Ubah tingkat faktor dari factor_survey_vector menjadi c("Female", "Male"). Perhatikan urutan elemen vektor di sini.
# no pec survey_vector <- c("M", "F", "F", "M", "M") factor_survey_vector <- factor(survey_vector) # Code to build factor_survey_vector survey_vector <- c("M", "F", "F", "M", "M") factor_survey_vector <- factor(survey_vector) # Specify the levels of factor_survey_vector levels(factor_survey_vector) <- factor_survey_vector # Code to build factor_survey_vector survey_vector <- c("M", "F", "F", "M", "M") factor_survey_vector <- factor(survey_vector) # Specify the levels of factor_survey_vector levels(factor_survey_vector) <- c("Female", "Male") factor_survey_vector msg = "Do not change the definition of survey_vector!" test_object("survey_vector", undefined_msg = msg, incorrect_msg = msg) msg = "Do not change or remove the code to create the factor vector." test_function("factor", "x", not_called_msg = msg, incorrect_msg = msg) # MC-note: ideally would want to test assign operator <-, and have it highlight whole line. # MC-note: or negate this test_student_typed, to highlight where they type this incorrect phrase # test_student_typed('c("Male", "Female")') test_object("factor_survey_vector", eq_condition = "equal", incorrect_msg = paste("Did you assign the correct factor levels to factor_survey_vector? Use levels(factor_survey_vector) <- c(\"Female\", \"Male\"). Remember that R is case sensitive!")) success_msg("Wonderful! Proceed to the next exercise.")

Perhatikan urutan saat Anda harus mengetik tingkat faktor. Petunjuk: lihat urutan tingkat yang dicetak saat mengetik levels(factor_survey_vector).

Meringkas Sebuah Faktor

Setelah menyelesaikan kursus ini, salah satu fungsi favorit Anda di R akan menjadi summary(). Ini akan memberi Anda gambaran cepat tentang isi sebuah variabel:

summary(my_var)

Kembali ke survei kita, Anda ingin mengetahui berapa banyak respons "Male" yang Anda miliki dalam studi Anda, dan berapa banyak respons "Female". Fungsi summary() memberikan jawaban untuk pertanyaan ini.

Instruksi

Minta summary() dari survey_vector dan factor_survey_vector. Tafsirkan hasil dari kedua vektor tersebut. Apakah keduanya sama-sama berguna dalam kasus ini?

# Build factor_survey_vector with clean levels survey_vector <- c("M", "F", "F", "M", "M") factor_survey_vector <- factor(survey_vector) levels(factor_survey_vector) <- c("Female", "Male") factor_survey_vector # Generate summary for survey_vector # Generate summary for factor_survey_vector # Build factor_survey_vector with clean levels survey_vector <- c("M", "F", "F", "M", "M") factor_survey_vector <- factor(survey_vector) levels(factor_survey_vector) <- c("Female", "Male") factor_survey_vector # Generate summary for survey_vector summary(survey_vector) # Generate summary for factor_survey_vector summary(factor_survey_vector) msg = "Do not change anything about the first few lines that define survey_vector and factor_survey_vector." test_object("survey_vector", undefined_msg = msg, incorrect_msg = msg) test_object("factor_survey_vector", eq_condition = "equal", undefined_msg = msg, incorrect_msg = msg) msg <- "Have you correctly used summary() to generate a summary for %s?" test_output_contains("summary(survey_vector)", incorrect_msg = sprintf(msg, "survey_vector")) test_output_contains("summary(factor_survey_vector)", incorrect_msg = sprintf(msg, "factor_survey_vector")) success_msg("Nice! Have a look at the output. The fact that you identified \"Male\" and \"Female\" as factor levels in factor_survey_vector enables R to show the number of elements for each category.")

Panggil fungsi summary() pada survey_vector dan factor_survey_vector, sesederhana itu!

Faktor Berurutan

Karena "Male" dan "Female" adalah tingkat faktor yang tidak berurutan (atau nominal), R mengembalikan pesan peringatan, memberi tahu Anda bahwa operator lebih besar dari tidak bermakna. Seperti terlihat sebelumnya, R melekatkan nilai yang sama pada tingkat untuk faktor seperti ini.

Tetapi ini tidak selalu demikian! Terkadang Anda juga akan berurusan dengan faktor yang memang memiliki pengurutan alami antar kategorinya. Jika demikian, kita harus memastikan untuk menyampaikan informasi ini ke R...

Misalkan Anda memimpin tim riset yang terdiri dari lima analis data dan Anda ingin mengevaluasi kinerja mereka. Untuk melakukannya, Anda melacak kecepatan mereka, mengevaluasi setiap analis sebagai "slow", "medium" atau "fast", dan menyimpan hasilnya dalam speed_vector.

Instruksi

Sebagai langkah pertama, tetapkan speed_vector sebuah vektor dengan 5 entri, satu untuk setiap analis. Setiap entri harus berupa "slow", "medium", atau "fast". Gunakan daftar berikut:

  • Analis 1 adalah medium,
  • Analis 2 adalah slow,
  • Analis 3 adalah slow,
  • Analis 4 adalah medium dan
  • Analis 5 adalah fast.

Belum perlu menyatakan ini sebagai faktor.

# Create speed_vector speed_vector <- # Create speed_vector speed_vector <- c("medium", "slow", "slow", "medium", "fast") test_object("speed_vector", incorrect_msg = "speed_vector should be a vector with 5 entries, one for each analyst's speed rating. Don't use capital letters; R is case sensitive!") success_msg("A job well done! Continue to the next exercise.")

Tetapkan ke speed_vector sebuah vektor yang berisi string karakter "slow", "medium", atau "fast".


Jika Anda ingin belajar lebih banyak dari kursus ini, berikut tautannya.

Lihat juga Tutorial Factors in R.

Topik
R
Data Science
Analisis Data

Kursus R

Kursus

Pengantar R

4 jam
3.1M
Kuasai dasar analisis data di R, termasuk vectors, lists, dan data frames, lalu praktikkan R dengan data sets nyata.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya