R和Excel:在R中给出的不是公共空间的空间
我有一个Excel工作表,其中的一些条目在字符串末尾包含空格。例如:“SS”和“SS”,最后加空格。这仅在我单击单元格时可见。当我尝试用“”和ctrl+h替换空格时,它找不到空格。显然,这不是一个公共空间。我尝试在其他地方插入一个公共空间(使用空格键),我可以找到这个(空格键)-空格。所以,我假设这是一个特殊的空间。如果复制该单元格中的空格并将其与ctrl+h一起使用,则可以将其替换为“” 在替换前将Excel工作表导入R(使用ess emacs)时,我会得到以下条目:R和Excel:在R中给出的不是公共空间的空间,r,excel,space,R,Excel,Space,我有一个Excel工作表,其中的一些条目在字符串末尾包含空格。例如:“SS”和“SS”,最后加空格。这仅在我单击单元格时可见。当我尝试用“”和ctrl+h替换空格时,它找不到空格。显然,这不是一个公共空间。我尝试在其他地方插入一个公共空间(使用空格键),我可以找到这个(空格键)-空格。所以,我假设这是一个特殊的空间。如果复制该单元格中的空格并将其与ctrl+h一起使用,则可以将其替换为“” 在替换前将Excel工作表导入R(使用ess emacs)时,我会得到以下条目: 下划线不是常用的下划线
下划线不是常用的下划线,不能使用
sub
将其替换为“”。现在,我想知道这个空格是什么,以及如何在R中处理它(即删除这个空格/下划线)。我不能保证这会起作用(因为Unicode等处理可能因平台而异),但是?trimws
建议使用空格=“[\\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"
>z名称(z)z
a b
1 1 2
2 2 3
>姓名(z)
[1] “a”“b”
>trimws(名称(z))35;##默认值不会删除“b”之后的空格
[1] “a”“b”
>trimws(名称(z),空格=“[\\h\\v]”)
[1] “a”“b”
尤其是当数据源是html或web文档时,这些空格通常是NBSP
code160
。您可以在Excel中查找/替换它们,方法是在数字键盘上键入0160
的同时,按住alt
,将代码输入到查找框中keypad@RonRosenfeld谢谢情况就是这样!