วิธีเลือกแถวเดี่ยวใน 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