วิธีใช้ pivot_longer() ใน r


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

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 library (tidyr)

df %>% pivot_longer(cols=c(' var1 ', ' var2 ', ...),
                    names_to=' col1_name ',
                    values_to=' col2_name ')

ทอง:

  • cols : ชื่อของคอลัมน์ที่จะหมุน
  • Names_to : ชื่อของคอลัมน์อักขระใหม่
  • Values_to : ชื่อของคอลัมน์ค่าใหม่

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

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

ตัวอย่าง: ใช้ pivot_longer() ใน R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน 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

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

 library (tidyr)

#pivot the data frame into a long format
df %>% pivot_longer(cols=c(' year1 ', ' year2 '),
                    names_to=' year ',
                    values_to=' points ')

# A tibble: 8 x 3
  player year points
      
1 A year1 12
2 A year2 22
3 B year1 15
4 B year2 29
5 C year1 19
6 C year2 18
7 D year1 19
8 D year2 12

โปรดทราบว่าขณะนี้ชื่อคอลัมน์ year1 และ year2 ถูกใช้เป็นค่าในคอลัมน์ใหม่ที่เรียกว่า “ปี” และค่าจากคอลัมน์เดิมเหล่านี้จะอยู่ในคอลัมน์ใหม่ที่เรียกว่า “จุด”

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

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

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

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

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

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

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