16

私は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で結果を取得するにはどうすればよいですか? ありがとう!

4

5 に答える 5

21

gsub少しの正規表現で使用できます:

cities <- gsub("^(.*?),.*", "\\1", df$city)

これも機能します:

cities <- gsub(",.*$", "", df$city)
于 2013-10-11T14:52:07.160 に答える
4

を使用regexprして、各要素の最初のコンマの位置を見つけ、substrこれを使用してそれらを切り取ることができます。

x <- c("London, UK", "Paris, France", "New York, USA")

substr(x,1,regexpr(",",x)-1)
[1] "London"   "Paris"    "New York"
于 2013-10-11T14:59:41.770 に答える
2

これがデータフレームの列である場合、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
于 2019-01-14T03:24:35.080 に答える