相关疑难解决方法(0)

替换数据框中出现的所有字符串

我正在研究一个非检测数据框,用'<'编码.有时在'<'之后有一个空格,有时不是例如'<2'或'<2'.我想删除每一个空间.

例:

data <- data.frame(name = rep(letters[1:3], each = 3), var1 = rep('< 2', 9), var2 = rep('<3', 9))

  name var1 var2 
1    a  < 2   <3
2    b  < 2   <3
3    c  < 2   <3
Run Code Online (Sandbox Code Playgroud)

这是我必须要做的:

我可以提取所有值并创建新字符串,但我不能将它们放回数据框中.

index <- str_detect(unlist(data), '<')
index <- matrix(index, nrow = 3)

data[index] 
#[1] "< 2" "< 2" "< 2" "<3"  "<3"  "<3" 

replacements <- str_replace_all(data[index], "<[ ]+","<") 
replacements
#[1] "<2" "<2" "<2" "<3" "<3" "<3"

data[index] <- replacements

#Error in `[<-.data.frame`(`*tmp*`, index, …
Run Code Online (Sandbox Code Playgroud)

r dataframe

48
推荐指数
6
解决办法
9万
查看次数

标签 统计

dataframe ×1

r ×1