ตอบ: วิธีเลือกแถวใน data frame ตามค่าเวกเตอร์
คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อเลือกแถวจากกรอบข้อมูลใน R ตามค่าของเวกเตอร์:
วิธีที่ 1: ใช้ Base R
new_df <- df[df$column_name %in% values_vector, ]
วิธีที่ 2: ใช้แพ็คเกจ dplyr
library (dplyr)
new_df <- df %>% filter(column_name %in% values_vector)
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้ใน R:
#create data frame
df <- data. frame (division=c('West', 'West', 'East', 'East', 'North'),
points=c(120, 100, 104, 98, 105),
assists=c(30, 35, 64, 28, 23))
#view data frame
df
assists points division
1 West 120 30
2 West 100 35
3 East 104 64
4 East 98 28
5 North 105 23
ตัวอย่างที่ 1: ใช้ฐาน R เพื่อเลือกแถวตามค่าเวกเตอร์
เราสามารถใช้โค้ดต่อไปนี้เพื่อเลือกเฉพาะแถวจากกรอบข้อมูลดั้งเดิมโดยที่ค่าในคอลัมน์ การแบ่ง เท่ากับ “ตะวันตก” หรือ “ทิศเหนือ”
#define values of interest
my_values <- c(' West ', ' North ')
#select rows that contain 'West' or 'North' in division column
new_df <- df[df$division %in% my_values, ]
#view results
new_df
assists points division
1 West 120 30
2 West 100 35
5 North 105 23
กรอบข้อมูลใหม่ประกอบด้วยแถวเท่านั้นที่มีค่าในคอลัมน์ การแบ่ง เท่ากับ “ตะวันตก” หรือ “ทิศเหนือ”
ตัวอย่างที่ 2: ใช้ dplyr เพื่อเลือกแถวตามค่าเวกเตอร์
นอกจากนี้เรายังสามารถใช้ฟังก์ชัน filter() จากแพ็คเกจ dplyr ใน R เพื่อเลือกเฉพาะแถวจากกรอบข้อมูลดั้งเดิม โดยที่ค่าในคอลัมน์ การหาร เท่ากับ “ตะวันตก” หรือ “ทิศเหนือ”
library (dplyr)
#define values of interest
my_values <- c(' West ', ' North ')
#select rows that contain 'West' or 'North' in division column
new_df <- df %>% filter(division %in% my_values)
#view results
new_df
assists points division
1 West 120 30
2 West 100 35
3 North 105 23
กรอบข้อมูลใหม่ประกอบด้วยแถวเท่านั้นที่มีค่าในคอลัมน์ การแบ่ง เท่ากับ “ตะวันตก” หรือ “ทิศเหนือ”
หมายเหตุ : วิธีฐาน R และ dplyr ให้ผลลัพธ์ที่เหมือนกัน อย่างไรก็ตาม วิธี dplyr มีแนวโน้มที่จะเร็วกว่าเมื่อทำงานกับเฟรมข้อมูลขนาดใหญ่มาก
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีเลือกเส้นสุ่มใน R โดยใช้ dplyr
วิธีเลือกแถวตามเงื่อนไขใน R
วิธีเลือกแถวที่มีค่าปรากฏในคอลัมน์ใด ๆ ใน R