Ersten Eintrag aus string split
Ich habe eine Spalte people$food
hat Einträge wie chocolate
oder apple-orange-strawberry
.
Will ich split people$food
durch -
und erhalten Sie den ersten Eintrag aus der split.
In python, die Lösung wäre food.split('-')[0]
, aber ich kann nicht finden, ein äquivalent für R.
InformationsquelleAutor Pistol Pete | 2015-11-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie brauchen, um zu extrahieren, die die erste (oder
nth
) Eintrag von jedem split verwenden:Oder schneller und mehr ausdrücklich vorgesehen:
Beiden bits des Codes gut zu bewältigen, die mit der Auswahl, welcher Wert in der split-Liste, und befassen sich mit Fällen, die außerhalb des Bereichs:
InformationsquelleAutor thelatemail
Beispielsweise
oder, was dasselbe ist
Im wesentlichen die Idee ist, dass
split
gibt eine Liste als Ergebnis, deren Elemente zugegriffen werden muss, entweder durch schneiden (der erste Fall) oder durch unlisting (die letztere).Wenn Sie möchten, dass die Anwendung der Methode auf eine gesamte Spalte:
strsplit
ist vektorisiert, so gibt es keine Notwendigkeit zusapply
es über jeden einzelnen Elements im vector. Siehe meine Antwort unten.Stimmt, ich war mir nicht bewusst, danke!
InformationsquelleAutor gented
Ich würde
sub()
statt. Da möchte man das erste "Wort" vor dem split, wir können einfach entfernen Sie alles nach dem ersten-
- und das ist das, was übrig bleibt.Hier ist ein Beispiel -
Sonst, wenn Sie verwenden möchten
strsplit()
Sie können rund bis die ersten Elemente mitvapply()
InformationsquelleAutor Rich Scriven
Ich würde vorschlagen, mit
head
eher als[
im R.InformationsquelleAutor Ven Yao
dplyr/magrittr
Ansatz:InformationsquelleAutor Ömer An