r - 如何删除 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 文件:(
解决方案
如何使用修剪空白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)
推荐阅读
- azure - Azure Function GET 发送:您需要启用 JavaScript 才能运行此应用
- excel - 类属性作为另一个类 VBA 的实例
- ruby-on-rails - hstore 将隐藏字段作为数组发送
- nginx - Nginx - 标头字段中的客户端真实IP
- python - 根据多个条件从数据框中删除记录
- android - 用于接收天气警报触发器的 Android 的 API?
- excel - 使用 VBA 循环浏览文件夹中的所有 .txt 文件,然后将内容传输到 Excel 工作表
- c++ - 我是否需要包含“Windows.h”才能隐式使用/与 WindowsAPI 通信?
- javascript - 文本框点击页面加载剑道网格
- http-headers - gSoap - 从请求中解析自定义 http 标头