首页 > 解决方案 > 如何删除 R 数据框中的“奇怪空间”?

问题描述

我将数据从 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 文件:(

标签: r

解决方案


如何使用修剪空白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)

推荐阅读