R和Excel:R中给定的空间不是通用空间

问题描述

我有一个带有列的Excel工作表,其中某些条目在字符串的末尾包含一个空格。例如:“ SS”和“ SS”,最后一个带空格。仅当我单击单元格时,这才可见。当我尝试使用空格键将空格替换为“”和ctrl + h时,找不到空格。显然,这不是一个常见的空间。我试图在其他地方(带空格键)插入一个公共空间,然后可以找到这个(空格键)空间。因此,我认为这是一个特殊的空间。如果我复制该单元格中的空间并将其用于ctrl + h,则可以将其替换为“”。

当我在替换之前将Excel工作表导入R(使用ess-emacs)时,得到以下条目:

enter image description here

下划线不是常见的下划线,不能使用sub替换为“”。现在,我想知道这个空间是什么,我该如何解决R中的问题(即删除这个空间/下划线)。

解决方法

我不能保证这会起作用(因为Unicode等。处理因平台而异),但是?trimws建议使用whitespace = "[\\h\\v]"会起作用:

> z <- data.frame(1:2,2:3)
> names(z) <- c("a  ","b\u00a0")  ## column name with Unicode space
> z
  a   b 
1   1  2
2   2  3
> names(z)
[1] "a  " "b " 
> trimws(names(z))  ## default doesn't remove space after 'b'
[1] "a"  "b "
> trimws(names(z),whitespace="[\\h\\v]")
[1] "a" "b"