ฉันกำลังพยายามใช้ grep
เพื่อทดสอบว่าเวกเตอร์ของสตริงมีอยู่ในเวกเตอร์อื่นหรือไม่และส่งออกค่าที่มีอยู่ (รูปแบบการจับคู่)
ฉันมีกรอบข้อมูลดังนี้:
FirstName Letter
Alex A1
Alex A6
Alex A7
Bob A1
Chris A9
Chris A6
ฉันมีเวกเตอร์ของรูปแบบสตริงที่จะพบในคอลัมน์ "Letter" เช่น: c("A1", "A9", "A6")
คอลัมน์ตัวอย่างเช่น:
ฉันต้องการตรวจสอบว่ามีสตริงใด ๆ ในเวกเตอร์รูปแบบอยู่ในคอลัมน์ "Letter" หรือไม่ ถ้าเป็นเช่นนั้นฉันต้องการผลลัพธ์ของค่าที่ไม่ซ้ำกัน
ปัญหาคือฉันไม่รู้ว่าจะใช้grep
กับหลายรูปแบบได้อย่างไร ฉันเหนื่อย:
matches <- unique (
grep("A1| A9 | A6", myfile$Letter, value=TRUE, fixed=TRUE)
)
แต่มันให้ 0 แมตช์ที่ไม่จริงมีคำแนะนำไหม
match
หรือ%in%
หรือแม้กระทั่ง==
เป็นวิธีเดียวที่ถูกต้องในการเปรียบเทียบการจับคู่แบบตรงทั้งหมด regex เป็นอันตรายมากสำหรับงานดังกล่าวและอาจนำไปสู่ผลลัพธ์ที่ไม่คาดคิด
fixed=TRUE
สาเหตุที่คุณเป็นรูปแบบเป็นนิพจน์ทั่วไปที่แท้จริง