R 修改字符串后如何重置向量的因子?

R 修改字符串后如何重置向量的因子?,r,string,vector,trim,R,String,Vector,Trim,修改字符串后如何重置向量的因子/级别 library(stringr) x <- c(" x1", "x1", "x2 ", " x2", "x1 ", "x2") # Whitespace left or right as.character(x) [1] " x1" "x1" "x2 " " x2" "x1 " "x2" str_replace_all(x, fixed(" "), "") [1] "x1" "x1" "x2" "x2" "x1" "x2" factor

修改字符串后如何重置向量的因子/级别

library(stringr)
x <- c("  x1", "x1", "x2 ", " x2", "x1 ", "x2") # Whitespace left or right
as.character(x)
[1] "  x1" "x1"   "x2 "  " x2"  "x1 "  "x2" 
str_replace_all(x, fixed(" "), "")
[1] "x1" "x1" "x2" "x2" "x1" "x2"
factor(x)
[1]   x1 x1   x2    x2  x1   x2
Levels: x1  x2 x1 x1  x2 x2`
库(“stringr”)

x此操作不需要软件包。你能行

factor(trimws(x))
# [1] x1 x1 x2 x2 x1 x2
# Levels: x1 x2

trimws()
用于修剪空白,在基本R(>=3.2.0)中可用。

如果R版本<3.2.0,我们也可以使用
gsub

factor(gsub("^\\s+|\\s+$", "", x))
#[1] x1 x1 x2 x2 x1 x2
#Levels: x1 x2

还有特殊用途的
stringr::str_trim()
,它将处理任何类型的空白,而不仅仅是空格。
factor(trimws(x))
# [1] x1 x1 x2 x2 x1 x2
# Levels: x1 x2
factor(gsub("^\\s+|\\s+$", "", x))
#[1] x1 x1 x2 x2 x1 x2
#Levels: x1 x2