วิธีเลือกแถวเดี่ยวใน data frame ใน r


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

วิธีที่ 1: เลือกแถวเดี่ยวในคอลัมน์ทั้งหมด

 library (dplyr)

df %>% distinct()

วิธีที่ 2: เลือกแถวเดี่ยวตามคอลัมน์

 library (dplyr)

df %>% distinct(column1, . keep_all = TRUE )

วิธีที่ 3: เลือกแถวเดี่ยวตามหลายคอลัมน์

 library (dplyr)

df %>% distinct(column1, column2, . keep_all = TRUE )

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 10, 8, 14, 15, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 10
3AF 8
4 AF 14
5 BG 15
6 BG 15
7 BF 17
8 BF 17

ตัวอย่างที่ 1: เลือกแถวที่ไม่ซ้ำกันในทุกคอลัมน์

รหัสต่อไปนี้แสดงวิธีการเลือกแถวที่มีค่าไม่ซ้ำกันในทุกคอลัมน์ในกรอบข้อมูล:

 library (dplyr)

#select rows with unique values across all columns
df %>% distinct()

  team position points
1 AG 10
2AF 8
3 AF 14
4 BG 15
5 BF 17

เราจะเห็นได้ว่ามีแถวที่ไม่ซ้ำกันห้าแถวในกรอบข้อมูล

หมายเหตุ : เมื่อพบแถวที่ซ้ำกัน จะคงไว้เฉพาะแถวแรกที่ไม่ซ้ำกันเท่านั้น

ตัวอย่างที่ 2: เลือกแถวเดี่ยวตามคอลัมน์

รหัสต่อไปนี้แสดงวิธีการเลือกแถวเดี่ยวตามคอลัมน์ ทีม เท่านั้น

 library (dplyr)

#select rows with unique values based on team column only
df %>% distinct(team, . keep_all = TRUE )

  team position points
1 AG 10
2 BG 15

เนื่องจากคอลัมน์ Team มีเพียงสองค่าที่ไม่ซ้ำกัน จึงเก็บเฉพาะแถวที่มีการปรากฏครั้งแรกของแต่ละค่าเท่านั้น

หมายเหตุ : อาร์กิวเมนต์ .keep_all=TRUE บอกให้ R เก็บคอลัมน์อื่นๆ ทั้งหมดในเอาต์พุต

ตัวอย่างที่ 3: เลือกแถวเดี่ยวตามหลายคอลัมน์

รหัสต่อไปนี้แสดงวิธีการเลือกแถวเดี่ยวตามคอลัมน์ ทีม และ ตำแหน่ง เท่านั้น

 library (dplyr)

#select rows with unique values based on team and position columns only
df %>% distinct(team, position, . keep_all = TRUE )

  team position points
1 AG 10
2AF 8
3 BG 15
4 BF 17

ส่งคืนสี่แถวเนื่องจากมีชุดค่าผสมที่ไม่ซ้ำกันสี่ชุดในคอลัมน์ ทีม และ ตำแหน่ง

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

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

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

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

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