【问题标题】:R comment character, #, does not workR 注释字符 # 不起作用
【发布时间】:2014-09-02 16:04:49
【问题描述】:

我有一个包含以下 5 行代码的文本文件:

#
# 1991    60060GBNYPAN
# 1991    60061GBGTSJT
# 1991    60062GBGTSJT
#

如果我在 Windows 机器上打开默认的 R GUI 并粘贴这五行,我会得到以下内容:

> #
> # 
> 1991    60060GBNYPAN
Error: unexpected numeric constant in "1991    60060"
> # 1991    60061GBGTSJT
> # 1991    60062GBGTSJT
> #
> 

当我将相同的五行代码粘贴到 Stack Overflow 问题窗口中时,我得到:

#
# 
1991    60060GBNYPAN
# 1991    60061GBGTSJT
# 1991    60062GBGTSJT
#

如果我将包含该代码的文本文件打开到 gVim 7.4 我看到:

#^M
# 
1991    60060GBNYPAN^M
# 1991    60061GBGTSJT^M
# 1991    60062GBGTSJT^M
#^M

gVim 7.4 中的所有字符都是蓝色的,除了第三行中的(第一)1991 是粉红色字体,60060GBNYPAN 是黑色字体。

我可以通过键入以下内容删除^M

:%s/<ctrl>Q<ctrl>M//g<return>

从这里:Read csv file with hidden or invisible character ^M

但是,如果我随后通过单击:File - Save in gVim 7.4 来保存文件,然后打开文件,则内容现在如下所示:

## 1991    60060GBNYPAN# 1991    60061GBGTSJT# 1991    60062GBGTSJT#

如果我将这些内容粘贴到 R 我得到:

> #
> # 
> 1991    60060GBNYPAN
Error: unexpected numeric constant in "1991    60060"
> # 1991    60061GBGTSJT
> # 1991    60062GBGTSJT
> #
> 

和之前在gVim 7.4打开文件一样。

如果我再次将文件打开到gVim 7.4(在删除^M 并保存文件之后)我看到:

#
# 
1991    60060GBNYPAN
# 1991    60061GBGTSJT
# 1991    60062GBGTSJT
#

字体的颜色没有改变,gVim 7.4 窗口底部有一条消息,内容如下:

<comment character does not work2.r" [unix] 6L, 74C        6,1        All

6,1 前后的空格数只是一个估计值。

发生了什么事?

我猜除了^M之外,文件中还有另一个隐藏字符,与^M不同,当我在gVim 7.4中打开文件时,默认情况下不会显示该字符。

感谢您的任何建议。我可能必须将原始文件加载到GitHub。我将在此处发布此消息后尝试这样做。

编辑

虽然我有一个GitHub 帐户并上传了文件,但时间太长了,我不记得如何上传这个最新的文件了。希望我能尽快上传文件。

如果我输入:

:set list&lt;return&gt; in gVim 7.4 删除 ^M 后我明白了:

$
#$
# $
1991    60060GBNYPAN$
# 1991    60061GBGTSJT$
# 1991    60062GBGTSJT$
#$

我认为:set list 应该显示所有隐藏的字符,但它显示的只是第二行#$ 之间的空格(如果我算上第一行$,则为第三行作为一行)。

【问题讨论】:

  • 换行符有几种类型,其中一种必须在第一“行”的“#”和“1991”之间。
  • @JoshuaUlrich 谢谢。我也有同样的怀疑。希望我能弄清楚如何在 gVim 7.4 中看到它们并删除它们。
  • 如果您希望在 R 中处理它们,请将它们替换为 ctrl-N。请注意,可能需要 read.table 的 comment.char。
  • @BondedDust 谢谢。我尝试选择文件中的所有文本,然后按 N 但这并没有消除 R. 中的错误

标签: r vim


【解决方案1】:

要找到麻烦的字符,最好查看文件的hexdump。在Unix上,有很多这样的工具:hexdump/hd/od等。

由于您使用的是 Windows,因此您可以使用 Vim 附带的 xxd 命令行工具。 :help 23.4(Vim 用户手册的二进制文件主题)告诉你如何打开文件,以及(在使用 XXD 下)如何将文件作为十六进制转储查看。

【讨论】:

    猜你喜欢
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 2013-09-20
    • 2020-10-09
    • 2012-09-19
    • 2015-09-14
    • 2017-08-20
    相关资源
    最近更新 更多