![](/img/trans.png)
[英]Removing multiple words from a string using a vector instead of regexp in R
[英]Removing different words from vector in R
假設我在 R 中有一個像這樣的長數據框:
var1 <- c("Los Angeles - CA", "New York - NY", "Seattle - WA", "Los Angeles - CA", "New York - NY")
var2 <- c(1, 2, 3, 4, 5)
df <- data.frame(var1, var2)
我想刪除“ - 狀態”,以獲得如下結果:
var1 <- c("Los Angeles", "New York", "Seattle", "Los Angeles", "New York")
var2 <- c(1, 2, 3, 4, 5)
df <- data.frame(var1, var2)
我無法弄清楚如何這樣做,因為我有超過 5,000 行並且不能使用 gsub,因為我必須刪除每個 state 縮寫 state 。 我的意思是,在使用這些函數之前,我必須先定義許多模式(-State),
有沒有一種簡單的方法可以通過使用一些我還沒有弄清楚的拆分模式來一次從該列中刪除所有“-State”?
幾個選項。
最基本的就是刪除最后 5 個字符。
library(stringr)
str_sub(var1, 1L, -6L)
或者也許搜索模式並刪除它:
gsub(" - \\w+$","",var1)
或者
str_remove_all(var1, " - \\w+$")
所有人都會得到相同的結果
[1] "Los Angeles" "New York" "Seattle" "Los Angeles" "New York"
var1 <- c("Los Angeles - CA", "New York - NY", "Seattle - WA", "Los Angeles - CA", "New York - NY")
gsub(" - [A-Z]+$", "", var1)
[1] "Los Angeles" "New York" "Seattle" "Los Angeles" "New York"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.