เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การนับจำนวน Level

ใน dplyr สามารถใช้ฟังก์ชัน across() ร่วมกับ mutate() และ summarize() เพื่อกำหนดให้นำอาร์กิวเมนต์ที่สอง ซึ่งก็คือฟังก์ชัน ไปใช้กับทุกคอลัมน์ที่ตรงตามเงื่อนไขของอาร์กิวเมนต์แรก

เราจะใช้ฟังก์ชันเหล่านี้ร่วมกับ tidyr เพื่อนับจำนวน level ของตัวแปร factor แต่ละตัวใน multiple_choice_responses โดย pivot_longer() จาก tidyr จะแปลงชุดข้อมูลจากรูปแบบ wide เป็น long ซึ่งรับอาร์กิวเมนต์ 2 ตัว ได้แก่ ชื่อคอลัมน์ใหม่—คอลัมน์หนึ่งเก็บชื่อคอลัมน์เดิม และอีกคอลัมน์เก็บค่าทั้งหมด

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

ข้อมูลเชิงหมวดหมู่ใน Tidyverse

ดูคอร์ส

คำแนะนำการฝึกหัด

  • แปลงคอลัมน์ประเภท character ทั้งหมดให้เป็น factor แล้วบันทึกชุดข้อมูลใหม่เป็น responses_as_factors
  • สร้างชุดข้อมูลใหม่ชื่อ number_of_levels โดย:
    • ใช้ summarize ร่วมกับ across เพื่อนำฟังก์ชัน nlevels() ไปใช้กับทุกคอลัมน์
    • แปลงรูปแบบของชุดข้อมูลจาก wide เป็น long

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Change all the character columns to factors
responses_as_factors <- multiple_choice_responses %>%
    mutate(___(is.character, as.factor))

number_of_levels <- responses_as_factors %>%
	# Apply the function nlevels to each column
    summarize(___(everything(), ___)) %>%
    # Change the dataset from wide to long
    ___(everything(), names_to = "variable", values_to = "num_levels")
แก้ไขและรันโค้ด