ตอบ: วิธีใช้ pivot_longer() กับทุกคอลัมน์


ฟังก์ชัน pivot_longer() ของแพ็คเกจ Tidyr ใน R สามารถใช้เพื่อหมุนบล็อกข้อมูลจากรูปแบบกว้างไปเป็นรูปแบบยาว

หากคุณต้องการใช้ฟังก์ชันนี้เพื่อหมุนคอลัมน์ทั้งหมดในกรอบข้อมูลในรูปแบบยาว คุณสามารถใช้ไวยากรณ์ต่อไปนี้:

 library (tidyr)

df_long <- pivot_longer(df, cols = everything())

โปรดทราบว่าอาร์กิวเมนต์ cols ระบุคอลัมน์ที่จะหมุนและ everything() ระบุว่าเราต้องการหมุนแต่ละคอลัมน์

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ

ที่เกี่ยวข้อง: ข้อมูลแบบยาวหรือแบบกว้าง: อะไรคือความแตกต่าง?

ตัวอย่าง: ใช้ pivot_longer() กับคอลัมน์ทั้งหมดใน R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ที่แสดงจำนวนคะแนนที่ผู้เล่นบาสเก็ตบอลแต่ละคนทำได้ในเกมที่แตกต่างกันสามเกม:

 #create data frame
df <- data. frame (game1=c(20, 30, 33, 19, 22, 24),
                 game2=c(12, 15, 19, 19, 20, 14),
                 game3=c(22, 29, 18, 12, 10, 11))

#view data frame
df

  game1 game2 game3
1 20 12 22
2 30 15 29
3 33 19 18
4 19 19 12
5 22 20 10
6 24 14 11

ปัจจุบันกรอบข้อมูลอยู่ในรูปแบบกว้าง

อย่างไรก็ตาม สมมติว่าเราต้องการหมุนกรอบข้อมูลเป็นรูปแบบยาวโดยการหมุนทั้งสามคอลัมน์

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำสิ่งนี้:

 library (tidyr)

#pivot all columns into long data frame
df_long <- pivot_longer(df, cols = everything())

#view long data frame
df_long

# A tibble: 18 x 2
   name value
    
 1 game1 20
 2 game2 12
 3 game3 22
 4 game1 30
 5 game2 15
 6 game3 29
 7 game1 33
 8 game2 19
 9 game3 18
10 game1 19
11 game2 19
12 game3 12
13 game1 22
14 game2 20
15 game3 10
16 game1 24
17 game2 14
18 game3 11

โปรดทราบว่าตอนนี้ชื่อคอลัมน์ game1 , game2 และ game3 ถูกใช้เป็นค่าในคอลัมน์ใหม่ที่เรียกว่า “ชื่อ” และค่าจากคอลัมน์เดิมเหล่านั้นจะถูกวางไว้ในคอลัมน์ใหม่ที่เรียกว่า “ค่า”

ผลลัพธ์ที่ได้คือกรอบข้อมูลที่ยาว

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน pivot_longer() ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ จากแพ็คเกจ Tidyr ใน R:

วิธีใช้ pivot_wider() ใน R
วิธีใช้ฟังก์ชัน Spread ใน R
วิธีใช้ฟังก์ชัน collect ใน R
วิธีใช้ฟังก์ชันแยกใน R
วิธีใช้ฟังก์ชัน Unite ใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *