我怎樣才能在R中用一個空格來替換長度不一的空白呢?
R有很多替換字符的方法,例如gsub、tidyr或stringr包。然而,我無法弄清楚如何用一個空格來最好地替換空白(長度不一)。
空格。
下面是一個R語言中的資料框架。
df = data. frame(column1= c("A B"。 "C D", "E F"。 "G H",/span> "I J"。 "K L", "M N"))
注意,空格的數量是不同的:
print(df)
# column1
# 1 A B
# 2 C D # 2 C D
# 3 E F
# 4 G H # 3 E F
# 5 I J # 4 G H
# 6 K L # 5 I J
# 7 M N # 6 K L
我天真的做法是使用gsub()
df$column1 <- gsub("[[: space:]]", " ", df$column1)
然而,這并沒有改變用一個空格替換的不同長度的空格。
uj5u.com熱心網友回復:
你也可以使用str_squish:
library(tidyverse)
df %>%。
mutate(column1 = str_squish(column1))
列1
1 A B
2 C D
3 E F
4 G H
5 I J
6 K L
7 M N
uj5u.com熱心網友回復:
我們可能需要使用 ,即一個或多個,而不僅僅是[[:space:]]
df$column1 <- gsub("[: space:]] ", "
", df$column1)
df$column1
[/span>1] "A
B" "C
D" "E
F" "G
H" "I
J" "K
L" "M
N"/span>
如果是一個空格,請將改為。
改為" "
df$column1 <- gsub(" [[: space:]] ", " ", df$column1)
df$column1
[1] "A B""C D" "E F" "G H" "I J" "K L" "M N"
OP的代碼與[[:space:]]的結果是用空格或替換了空格。
> gsub(" [[: space:]]", "
", df$column1)
[/span>1] "A
B" "C
D" "E
F" "G
H" "I
J" "K
L" "M
N"/span>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/324438.html
標籤:
