ฉันกำลังพยายามใช้ 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สาเหตุที่คุณเป็นรูปแบบเป็นนิพจน์ทั่วไปที่แท้จริง