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

มีผู้ชนะแล้ว!

ในแบบฝึกหัดนี้ เราจะระบุเมตริกสำคัญหนึ่งอย่าง นั่นคือ ใครคือผู้ใช้ที่โพสต์ทวีตซึ่งได้รับการรีทวีตมากที่สุด?

ข้อมูลประเภทนี้มีความสำคัญมากในการวิเคราะห์โซเชียลมีเดีย เพราะจะบอกเราได้ว่าทวีตใดในชุดข้อมูลได้รับความสนใจสูงสุด และยังช่วยในการระบุธีมหลักและผู้ใช้สำคัญสำหรับหัวข้อหรือ hashtag ที่ต้องการในอนาคต

เราจะใช้ purrr เพื่อดึงทวีตที่ถูกรีทวีตมากที่สุดออกจาก corpus ของเรา และดูว่าผู้ใช้เบื้องหลังทวีตนั้นคือใคร เนื่องจากต้องการวิเคราะห์เฉพาะทวีตต้นฉบับเท่านั้น จึงได้เตรียม list ชื่อ non_rt ไว้ให้แล้ว ซึ่งสร้างขึ้นในแบบฝึกหัดก่อนหน้า

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

Functional Programming ระดับกลางด้วย purrr

ดูคอร์ส

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

  • ดึงข้อมูลทุก element ที่ชื่อ "retweet_count" ด้วย map_*() variant ที่เหมาะสม แล้วส่งผลลัพธ์ไปยัง max()

  • เติมค่าใน map_at() โดยกำหนด .at เป็น "retweet_count" และ .f เป็น mapper ที่ทดสอบว่าค่าเท่ากับ max_rt หรือไม่

  • นำฟังก์ชันที่สร้างขึ้นมา map กับ non_rt จากนั้นเก็บเฉพาะ "retweet_count" แล้ว flatten ผลลัพธ์

  • แสดง $screen_name และ $text ของผลลัพธ์ไปยัง console

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

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

# Get the max() of "retweet_count" 
max_rt <- ___(non_rt, ___) %>% 
  ___()

# Prefill map_at() with a mapper testing if .x equal max_rt
max_rt_calc <- ___(___, .at = "retweet_count", .f := ~ ___ )

res <- non_rt %>%
  # Call max_rt_calc() on each element
  ___(___) %>% 
  # Keep elements where retweet_count is non-zero
  ___("___") %>% 
  # Flatten it
  ___()

# Print the "screen_name" and "text" of the result
res$screen_name
res$text
แก้ไขและรันโค้ด