【发布时间】:2011-01-16 16:38:31
【问题描述】:
我在 data.frame 中的前导和尾随空格时遇到了一些问题。
例如,我根据某个条件查看data.frame中的特定row:
> myDummy[myDummy$country == c("Austria"),c(1,2,3:7,19)]
[1] codeHelper country dummyLI dummyLMI dummyUMI
[6] dummyHInonOECD dummyHIOECD dummyOECD
<0 rows> (or 0-length row.names)
我想知道为什么我没有得到预期的输出,因为我的data.frame 中显然存在奥地利这个国家。在查看了我的代码历史并试图找出问题所在之后,我尝试了:
> myDummy[myDummy$country == c("Austria "),c(1,2,3:7,19)]
codeHelper country dummyLI dummyLMI dummyUMI dummyHInonOECD dummyHIOECD
18 AUT Austria 0 0 0 0 1
dummyOECD
18 1
我在命令中所做的只是在奥地利之后增加了一个空格。
显然会出现更多恼人的问题。例如,当我喜欢根据国家列合并两个框架时。一个data.frame 使用"Austria ",而另一个框架使用"Austria"。匹配不起作用。
- 有没有一种很好的方法可以“显示”屏幕上的空白区域,以便我了解问题所在?
- 我可以删除 R 中的前导和尾随空格吗?
到目前为止,我曾经编写过一个简单的Perl 脚本来消除白人的步伐,但如果我能以某种方式在 R 中做到这一点,那就太好了。
【问题讨论】:
-
我刚刚看到
sub()也使用Perl表示法。对于那个很抱歉。我将尝试使用该功能。但是对于我的第一个问题,我还没有解决方案。 -
正如哈德利指出的那样,这个正则表达式 "^\\s+|\\s+$" 将识别前导和尾随空格。所以 x
标签: r whitespace trim removing-whitespace r-faq