Ich renne durch einen Zeichenvektor (ca. 10.000 Einträge) und es hat eine Menge Informationen darin Ich möchte verwerfen, aber ziemlich viel, das ich behalten möchte . Die Informationen, die ich behalten möchte, müssen einer gegebenen Zeichenfolge in einem anderen Zeichenvektor entsprechen. Also, wäre dies der matching_points
Vektor, der die Argumente enthält, die die Kriterien erfüllen:R - invertieren gsub: keep nur Übereinstimmungen mit gsub Argument
matching_points <- "house|techno|pop|jazz|dreampop|artrock"
und dies wäre der Vektor i wollen würde, um aufzuräumen:
music <- c("tropical house", "tech house", "funk", "hardcore", "hard rock", "pop", "dream pop", "free jazz")
und durch den Reinigungsvorgang , würde ich den Vektor wollen music
dann diese aussehen
[1] "house" "house" "" "" "" "pop" "pop" "jazz"
Es wäre toll, wenn jemand eine Ahnung, wie ich das tun kann - ich vermute, es ist eine einfache o ption, die auf den -Prozess angewendet werden kann, um den Prozess umzukehren, d. h. das Material, das übereinstimmt, zu ersetzen und alles andere durch ""
zu ersetzen.
'regmatches (Musik, RegExpr (matching_points, Musik))' arbeitet fast ... nicht sicher, wie man am besten die "" s zu erhalten. – Frank
Hm, ich denke, die verknüpfte Antwort deckt es ab. Lass es mich wissen, wenn nicht. – Frank
Hallo @Frank, danke für deine Hilfe. Sotos Methode hat perfekt funktioniert. – nikUoM