Dies sind meine Daten.So trennen Sie eine Zeichenkettenspalte basierend auf dem ersten Leerzeichen
mtcars$brand=row.names(mtcars)
mtcars$brand
## [1] "Mazda RX4" "Mazda RX4 Wag" "Datsun 710"
## [4] "Hornet 4 Drive" "Hornet Sportabout" "Valiant"
## [7] "Duster 360" "Merc 240D" "Merc 230"
## [10] "Merc 280" "Merc 280C" "Merc 450SE"
## [13] "Merc 450SL" "Merc 450SLC" "Cadillac Fleetwood"
## [16] "Lincoln Continental" "Chrysler Imperial" "Fiat 128"
## [19] "Honda Civic" "Toyota Corolla" "Toyota Corona"
## [22] "Dodge Challenger" "AMC Javelin" "Camaro Z28"
## [25] "Pontiac Firebird" "Fiat X1-9" "Porsche 914-2"
## [28] "Lotus Europa" "Ford Pantera L" "Ferrari Dino"
## [31] "Maserati Bora" "Volvo 142E"
Ich möchte nur den ersten Namen der Marke (einen Teil bis zum ersten Leerzeichen) extrahieren
so - wie es zu tun
## brand brand2
## Mazda RX4 Mazda RX4 Mazda
## Mazda RX4 Wag Mazda RX4 Wag Mazda
## Datsun 710 Datsun 710 Datsun
## Hornet 4 Drive Hornet 4 Drive Hornet
## Hornet Sportabout Hornet Sportabout Hornet
## Valiant Valiant Valiant
## Duster 360 Duster 360 Duster
## Merc 240D Merc 240D Merc
## Merc 230 Merc 230 Merc
## Merc 280 Merc 280 Merc
Dies sind die vier Möglichkeiten
> mtcars$brand2=gsub(" .*$", "",mtcars$brand)
> mtcars$brand3=sapply(strsplit(mtcars$brand, "\\s+"), "[", 1)
> mtcars$brand4=substr(mtcars$brand,1,regexpr(" ",mtcars$brand))
> mtcars$brand4=ifelse(mtcars$brand4=="",mtcars$brand,mtcars$brand4)
library(stringr)
> mtcars$brand5=str_extract(mtcars$brand, boundary("word"))
haben Sie versucht, 'stringr :: str_split (df," „) [[1]]'? – Aramis7d
Noch [ein anderer Link] (http://stackoverflow.com/questions/31925811/extract-first-word-from-a-column-and-insert-into-ne-column) – Sotos