私はRの初心者です。今、私はこのようなdata.frameにベクトルを持っています
city
Kirkland,
Bethesda,
Wellington,
La Jolla,
Berkeley,
Costa, Evie KW172NJ
Miami,
Plano,
Sacramento,
Middletown,
Webster,
Houston,
Denver,
Kirkland,
Pinecrest,
Tarzana,
Boulder,
Westfield,
Fair Haven,
Royal Palm Beach, Fl
Westport,
Encino,
Oak Ridge,
掃除したいです。私が欲しいのは、コンマの前のすべての都市名です。 Rで結果を取得するにはどうすればよいですか?ありがとう!
gsub
を少しの正規表現で使用できます。
cities <- gsub("^(.*?),.*", "\\1", df$city)
これも機能します:
cities <- gsub(",.*$", "", df$city)
楽しみのために、strsplit
を使用できます
> x <- c("London, UK", "Paris, France", "New York, USA")
> sapply(strsplit(x, ","), "[", 1)
[1] "London" "Paris" "New York"
regexpr
を使用して各要素の最初のコンマの位置を見つけ、substr
を使用して次の場所でそれらを切り取ることができます。
x <- c("London, UK", "Paris, France", "New York, USA")
substr(x,1,regexpr(",",x)-1)
[1] "London" "Paris" "New York"
これも同様に機能します。
x <- c("London, UK", "Paris, France", "New York, USA")
library(qdap)
beg2char(x, ",")
## > beg2char(x, ",")
## [1] "London" "Paris" "New York"
これがデータフレームの列である場合は、tidyverseを使用できます。
library(dplyr)
x <- c("London, UK", "Paris, France", "New York, USA")
x <- as.data.frame(x)
x %>% separate(x, c("A","B"), sep = ',')
A B
1 London UK
2 Paris France
3 New York USA