ตอบ: วิธีใช้ pivot_wider() กับหลายคอลัมน์
ฟังก์ชัน pivot_wider() ของแพ็คเกจ Tidyr ใน R สามารถใช้เพื่อหมุนบล็อกข้อมูลจากรูปแบบยาวไปเป็นรูปแบบกว้าง
หากคุณต้องการใช้ฟังก์ชันนี้เพื่อหมุนหลายคอลัมน์ คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
library (tidyr)
df_wide <- pivot_wider(df, names_from=group, values_from=c(values1, values2))
ด้วยการระบุชื่อคอลัมน์หลายคอลัมน์ให้กับอาร์กิวเมนต์ Values_from คุณสามารถหมุนหลายคอลัมน์พร้อมกันได้
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ที่เกี่ยวข้อง: ข้อมูลแบบยาวหรือแบบกว้าง: อะไรคือความแตกต่าง?
ตัวอย่าง: ใช้ pivot_wider() กับหลายคอลัมน์ใน R
สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
player=c('G', 'F', 'C', 'G', 'F', 'C'),
points=c(22, 34, 20, 15, 14, 19),
assists=c(4, 10, 12, 9, 8, 5))
#view data frame
df
team player points assists
1 AG 22 4
2 AF 34 10
3 AC 20 12
4 BG 15 9
5 BF 14 8
6 BC 19 5
ตอนนี้สมมติว่าเราต้องการหมุนค่าใน จุด และคอลัมน์ สนับสนุน พร้อมกัน
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำสิ่งนี้:
library (tidyr)
#pivot values in points and assists columns
df_wide <- pivot_wider(df, names_from=player, values_from=c(points, assists))
#view wide data frame
df_wide
# A tibble: 2 x 7
team points_G points_F points_C assists_G assists_F assists_C
1 A 22 34 20 4 10 12
2 B 15 14 19 9 8 5
โปรดทราบว่าแต่ละค่าในคอลัมน์ ผู้เล่น จะถูกรวมเข้ากับ คะแนน และ การช่วยเหลือ เพื่อสร้างคอลัมน์ใหม่ทั้งหมดหกคอลัมน์ที่แสดงคะแนนและการช่วยเหลือที่ทำคะแนนโดยผู้เล่นในแต่ละตำแหน่ง
ผลลัพธ์ที่ได้คือกรอบข้อมูลขนาดใหญ่ที่มีทั้งหมดเจ็ดคอลัมน์
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน pivot_wider() ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ จากแพ็คเกจ Tidyr ใน R:
วิธีใช้ pivot_longer() ใน R
วิธีใช้ฟังก์ชัน Spread ใน R
วิธีใช้ฟังก์ชัน collect ใน R
วิธีใช้ฟังก์ชันแยกใน R
วิธีใช้ฟังก์ชัน Unite ใน R