วิธีใช้ฟังก์ชัน slice() ใน dplyr (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน Slice() จากแพ็คเกจ dplyr ใน R เพื่อสร้างชุดย่อยของแถวตามตำแหน่งจำนวนเต็ม

คุณสามารถใช้วิธีการต่อไปนี้เพื่อซับเซ็ตแถวบางแถวในกรอบข้อมูล:

วิธีที่ 1: การย่อยแถวเฉพาะ

 #get row 3 only
df %>% slice(3)

วิธีที่ 2: เซ็ตย่อยหลายแถว

 #get rows 2, 5, and 6
df %>% slice(2, 5, 6)

วิธีที่ 3: การย่อยช่วงแถว

 #get rows 1 through 3
df %>% slice(1:3)

วิธีที่ 4: เซ็ตย่อยแถวตามกลุ่ม

 #get first row by group
df %>%
  group_by(var1) %>%
  slice(1)

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีกับกรอบข้อมูลต่อไปนี้:

 #create dataset
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C', 'C'),
                 points=c(1, 2, 3, 4, 5, 6, 7),
                 assists=c(1, 5, 2, 3, 2, 2, 0))

#view dataset
df

  team points assists
1 A 1 1
2 to 2 5
3 To 3 2
4 B 4 3
5 B 5 2
6 C 6 2
7 C 7 0

ตัวอย่างที่ 1: เซตย่อยของแถวที่ระบุ

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน Slice() เพื่อเลือกเฉพาะแถวที่ 3 ในกรอบข้อมูล:

 #get row 3 only
df %>% slice(3)

  team points assists
1 to 3 2

ตัวอย่างที่ 2: เซตย่อยของหลายบรรทัด

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน Slice() เพื่อเลือกแถวเฉพาะหลายแถวในกรอบข้อมูล:

 #get rows 2, 5, and 6
df %>% slice(2, 5, 6)

  team points assists
1 to 2 5
2 B 5 2
3 C 6 2

ตัวอย่างที่ 3: เซตย่อยของช่วงแถว

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน Slice() เพื่อเลือกแถวทั้งหมดระหว่าง 1 ถึง 3:

 #get rows 1 through 3
df %>% slice(1:3)

  team points assists
1 A 1 1
2 to 2 5
3 To 3 2

ตัวอย่างที่ 4: บรรทัดย่อยตามกลุ่ม

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน Slice() เพื่อเลือกแถวแรกของบางกลุ่ม:

 #get first row by group
df %>%
  group_by(team) %>%
  slice(1)

# A tibble: 3 x 3
# Groups: team [3]
  team points assists
       
1 A 1 1
2 B 4 3
3 C 6 2

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่นๆ โดยใช้ dplyr:

วิธีลบแถวโดยใช้ dplyr
วิธีจัดเรียงแถวโดยใช้ dplyr
วิธีกรองตามเงื่อนไขต่างๆ โดยใช้ dplyr

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

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