我将数据从Excel文件导入R。此文件包含R和Excel均未检测到的一些奇怪空间。我所说的“奇怪的空间”是某种形式的双倍空格,但是当我在Excel中执行Ctrl + F并使用键盘上的空格键搜索双倍空格时,Excel无法检测到它。我从这篇文章中找到了关于这个奇怪空间的更多信息:
https://www.auditexcel.co.za/blog/excel-not-recognizing-spaces/
那么对我来说,问题是如何在R中用适当的单个空格替换这个双空格?
我尝试了以下操作,但不起作用:
table$var1 <- gsub(" +"," ",table$var1)
table$var1 <- gsub(" "," ",table$var1)
table$var1 <- sub(" "," ",table$var1)
我想这是可以预测的,因为它可能不是两倍的空格,而是看起来像一个。
有人遇到过这样的事情吗?我希望能像作者在上面的URL中所说的那样手动修复Excel文件,但是在这种情况下,我需要修复数百个Excel文件:(
答案 0 :(得分:1)
如何在trimws()
中使用修剪空白:
x <- " Some text. "
x <- trimws(x)
x
[1] "Some text."
然后在其中添加一个空格
x <- paste0(" ", x)
x
[1] " Some text."
在您的情况下:
table$var1 <- trimws(table$var1)
table$var1 <- paste0(" ", table$var1)
答案 1 :(得分:-1)
猜猜是什么?!我从这篇文章的结尾找到了答案: Where is this whitespace hiding?
@uneven_mark您给了我正确的方向。使用上述论坛中的帖子,这就是我所做的:
trim <- function(x) gsub("^\\s+|\\s+$", "", x)
clean <- function(text) {
gsub("\\s+", " ", gsub("\r|\n|\t", " ", text))
}
trim(clean(table1$var1))
非常感谢你们:)