วิธีเลือกแถว dataframe ตามชื่อโดยใช้ dplyr


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

 library (dplyr)

#select rows by name
df %>%
  filter(row. names (df) %in% c(' name1 ', ' name2 ', ' name3 '))

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

ตัวอย่าง: เลือกแถวตามชื่อโดยใช้ dplyr

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df <- data. frame (points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#set row names
row. names (df) <- c('Mavs', 'Hawks', 'Cavs', 'Lakers', 'Heat')

#view data frame
df

       points assists rebounds
Mavs 99 33 30
Hawks 90 28 28
Cavs 86 31 24
Lakers 88 39 24
Heat 95 34 28

เราสามารถใช้โค้ดต่อไปนี้เพื่อเลือกแถวที่มีชื่อแถวเท่ากับ Hawks, Cavs หรือ Heat:

 library (dplyr)

#select specific rows by name
df %>%
  filter(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat '))

      points assists rebounds
Hawks 90 28 28
Cavs 86 31 24
Heat 95 34 28

โปรดทราบว่า dplyr จะส่งคืนเฉพาะแถวที่มีชื่ออยู่ในเวกเตอร์ที่เราระบุให้กับฟังก์ชัน filter()

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

 library (dplyr)

#select rows that do not have Hawks, Cavs, or Heat in the row name
df %>%
  filter(!(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat ')))

       points assists rebounds
Mavs 99 33 30
Lakers 88 39 24

โปรดทราบว่า dplyr จะส่งคืนเฉพาะแถวที่มีชื่อไม่อยู่ในเวกเตอร์ที่เราระบุให้กับฟังก์ชัน filter()

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

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

วิธีกรองค่าที่ไม่ซ้ำโดยใช้ dplyr
วิธีกรองตามเงื่อนไขต่างๆ โดยใช้ dplyr
วิธีนับจำนวนครั้งที่เกิดขึ้นในคอลัมน์ใน R

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

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