我的資料集
id data
1 C H I C A G O I L
2 M A D I S O N W I
3 N E W Y O R K N Y
一個單詞中的字母之間有一個空白字符,單詞之間有 2 個空白字符。我需要洗掉它們
id data
1 CHICAGO IL
2 MADISON WI
3 NEW YORK NY
uj5u.com熱心網友回復:
我們可能會使用
library(stringr)
library(dplyr)
df1 %>%
mutate(data = str_replace_all(str_remove_all(data,
"(?<=\\S)\\s{1}(?=\\S)"), "\\s ", " "))
-輸出
id data
1 1 CHICAGO IL
2 2 MADISON WI
3 3 NEW YORK NY
資料
df1 <- structure(list(id = 1:3, data = c("C H I C A G O I L", "M A D I S O N W I",
" N E W Y O R K N Y")), class = "data.frame", row.names = c(NA,
-3L))
uj5u.com熱心網友回復:
使用gsub移除,再接一個大寫字母任何空間:
df$data <- gsub("\\s(?=[A-Z])", "", df$data, perl = T)
輸出
id data
1 1 CHICAGO IL
2 2 MADISON WI
3 3 NEW YORK NY
uj5u.com熱心網友回復:
這顯然太過分了,但應該證明背后的邏輯:
library(dplyr)
library(stringr)
df %>%
mutate(data = str_replace_all(data, " ", "0"),
data = str_replace_all(data, "00", " "),
data = str_replace_all(data, "0", ""))
id data
1 1 CHICAGO IL
2 2 MADISON WI
3 3 NEW YORK NY
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/340864.html
標籤:r
上一篇:計算行的中位數和均值(在R中)
