มีผู้ชนะแล้ว!
ในแบบฝึกหัดนี้ เราจะระบุเมตริกสำคัญหนึ่งอย่าง นั่นคือ ใครคือผู้ใช้ที่โพสต์ทวีตซึ่งได้รับการรีทวีตมากที่สุด?
ข้อมูลประเภทนี้มีความสำคัญมากในการวิเคราะห์โซเชียลมีเดีย เพราะจะบอกเราได้ว่าทวีตใดในชุดข้อมูลได้รับความสนใจสูงสุด และยังช่วยในการระบุธีมหลักและผู้ใช้สำคัญสำหรับหัวข้อหรือ 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