วิธีใช้ฟังก์ชัน gather ใน r (พร้อมตัวอย่าง)
ฟังก์ชัน รวบรวม() จากแพ็คเกจ Tidyr สามารถใช้เพื่อ “รวบรวม” คู่คีย์-ค่าข้ามหลายคอลัมน์ได้
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
รวบรวม (ข้อมูล ค่าคีย์ ฯลฯ)
ทอง:
- data : ชื่อของกรอบข้อมูล
- key : ชื่อของคอลัมน์คีย์ที่จะสร้าง
- value : ชื่อของคอลัมน์ค่าที่จะสร้าง
- … : ระบุคอลัมน์ที่ต้องการรวบรวม
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่างที่ 1: รวบรวมค่าของสองคอลัมน์
สมมติว่าเรามี data frame ต่อไปนี้ใน R:
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D'), year1=c(12, 15, 19, 19), year2=c(22, 29, 18, 12)) #view data frame df player year1 year2 1 to 12 22 2 B 15 29 3 C 19 18 4 D 19 12
เราสามารถใช้ฟังก์ชัน รวบรวม() เพื่อสร้างคอลัมน์ใหม่สองคอลัมน์ที่เรียกว่า “ปี” และ “คะแนน” ดังนี้
library (tidyr) #gather data from columns 2 and 3 gather(df, key=" year ", value=" points ", 2:3) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12
ตัวอย่างที่ 2: รวบรวมค่าจากมากกว่าสองคอลัมน์
สมมติว่าเรามี data frame ต่อไปนี้ใน R:
#create data frame df2 <- data. frame (player=c('A', 'B', 'C', 'D'), year1=c(12, 15, 19, 19), year2=c(22, 29, 18, 12), year3=c(17, 17, 22, 25)) #view data frame df2 player year1 year2 year3 1 A 12 22 17 2 B 15 29 17 3 C 19 18 22 4 D 19 12 25
เราสามารถใช้ฟังก์ชัน รวบรวม() เพื่อ “รวบรวม” ค่าจากคอลัมน์ 2, 3 และ 4 ให้เป็น 2 คอลัมน์ใหม่ที่เรียกว่า “ปี” และ “คะแนน” ได้ดังนี้
library (tidyr) #gather data from columns 2, 3, and 4 gather(df, key=" year ", value=" points ", 2:4) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12 9 A year3 17 10 B year3 17 11 C year3 22 12 D year3 25
แหล่งข้อมูลเพิ่มเติม
เป้าหมายของแพ็คเกจ Tidyr คือการสร้างข้อมูลที่ “เป็นระเบียบเรียบร้อย” ซึ่งมีลักษณะดังต่อไปนี้:
- แต่ละคอลัมน์เป็นตัวแปร
- แต่ละบรรทัดคือการสังเกต
- แต่ละเซลล์มีค่าไม่ซ้ำกัน
แพ็คเกจ Tidyr ใช้ฟังก์ชันหลัก 4 ประการในการสร้างข้อมูลที่เรียงลำดับ:
1. ฟังก์ชัน สเปรด()
2. ฟังก์ชัน รวบรวม()
3. ฟังก์ชัน แยก ()
4. ฟังก์ชัน หน่วย ()
หากคุณเชี่ยวชาญในสี่ฟังก์ชันนี้ คุณจะสามารถสร้างข้อมูลที่ “เป็นระเบียบเรียบร้อย” จากกรอบข้อมูลใดก็ได้