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

col_types กับ collectors

อีกวิธีหนึ่งในการกำหนดประเภทของคอลัมน์ที่นำเข้าคือการใช้ collectors ฟังก์ชัน collector สามารถส่งผ่านใน list() ไปยังอาร์กิวเมนต์ col_types ของฟังก์ชัน read_ เพื่อระบุวิธีตีความค่าในแต่ละคอลัมน์

ดูรายการฟังก์ชัน collector ทั้งหมดได้ที่เอกสาร collector สำหรับแบบฝึกหัดนี้จะใช้ฟังก์ชัน collector สองตัว ได้แก่

  • col_integer(): ระบุให้ตีความคอลัมน์เป็นจำนวนเต็ม
  • col_factor(levels, ordered = FALSE): ระบุให้ตีความคอลัมน์เป็น factor ที่มี levels ที่กำหนด

ในแบบฝึกหัดนี้จะทำงานกับ hotdogs.txt (ดูไฟล์) ซึ่งเป็นไฟล์ที่คั่นด้วย tab และไม่มีชื่อคอลัมน์ในแถวแรก

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

การนำเข้าข้อมูลใน R เบื้องต้น

ดูคอร์ส

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

  • hotdogs ถูกสร้างไว้ให้แล้วโดยไม่ได้กำหนดประเภทของคอลัมน์ ตรวจสอบสรุปข้อมูลด้วยฟังก์ชัน summary()
  • มีการกำหนดฟังก์ชัน collector ไว้ให้สองตัวคือ fac และ int ลองดูโค้ดให้เข้าใจว่าแต่ละตัวเก็บข้อมูลประเภทใด
  • ในการเรียก read_tsv() ครั้งที่สอง ให้แก้ไขอาร์กิวเมนต์ col_types โดยส่ง list() ที่มีสมาชิกเป็น fac, int และ int เพื่อให้คอลัมน์แรกนำเข้าเป็น factor และคอลัมน์ที่สองกับสามเป็นจำนวนเต็ม
  • สร้าง summary() ของ hotdogs_factor แล้วเปรียบเทียบกับสรุปของ hotdogs

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

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

# Import without col_types
hotdogs <- read_tsv("hotdogs.txt", col_names = c("type", "calories", "sodium"))

# Display the summary of hotdogs
___

# The collectors you will need to import the data
fac <- col_factor(levels = c("Beef", "Meat", "Poultry"))
int <- col_integer()

# Edit the col_types argument to import the data correctly: hotdogs_factor
hotdogs_factor <- read_tsv("hotdogs.txt",
                           col_names = c("type", "calories", "sodium"),
                           col_types = NULL)

# Display the summary of hotdogs_factor
___
แก้ไขและรันโค้ด