R 读取带有不寻常字符的制表符分隔文件,然后编写一份精确副本 问题

R 读取带有不寻常字符的制表符分隔文件,然后编写一份精确副本 问题,r,R,我有一个以制表符分隔的输入文件,如下所示: Variable [1] Variable [2] 111 Something Nothing 222 第一行表示列名,下两行表示列值。如您所见,列名包括空格和一些棘手的符号 现在,我想做的是将这个文件导入到R中,然后再次输出到一个新的文本文件中,使它看起来与输入完全相同。为此,我创建了以下脚本(假设输入文件名为“Test.txt”): 现在,这个输出有几个问题 “[”和“]”符号已转换为点 空格已转换为点 到处都有引证的迹象 如何

我有一个以制表符分隔的输入文件,如下所示:

Variable [1]    Variable [2]
111    Something
Nothing    222
第一行表示列名,下两行表示列值。如您所见,列名包括空格和一些棘手的符号

现在,我想做的是将这个文件导入到R中,然后再次输出到一个新的文本文件中,使它看起来与输入完全相同。为此,我创建了以下脚本(假设输入文件名为“Test.txt”):

现在,这个输出有几个问题

  • “[”和“]”符号已转换为点
  • 空格已转换为点
  • 到处都有引证的迹象
  • 如何使输出文件看起来与输入文件完全相同

    到目前为止我都试过了 关于问题1和问题2,我尝试通过创建一个内部向量
    c(“变量[1],“变量[2]”)来指定列名,然后使用
    col.names
    选项
    read.table()
    。这给了我完全相同的输出。我还通过
    table.read()
    encoding
    选项尝试了不同的编码。如果我看一下上面提到的内部创建的向量,它会按照应该打印的方式打印变量名,因此我猜在流程的“text->R”和“R->text”阶段之间的转换存在问题。也就是说,如果我查看由
    read.table()
    创建的没有任何内部创建向量的数据帧,则列名是错误的


    至于第三个问题,我几乎迷路了,还没有弄清楚我应该尝试什么。

    给定以下输入文件作为
    test.txt

    Variable [1]    Variable [2]
    111 Something
    Nothing 222
    
    如果列以选项卡分隔,则可以使用以下代码创建精确副本:

    a <- read.table(file='test.txt', check.names=F, sep='\t', header=T, 
        stringsAsFactors=F)
    write.table(x=a, file='test_copy.txt', quote=F, row.names=F, 
        col.names=T, sep='\t')
    

    一个不错的例子。我是偏执狂,但我更喜欢
    TRUE
    FALSE
    而不是
    T
    F
    ,以防这些变量被重新分配。。。
    Variable [1]    Variable [2]
    111 Something
    Nothing 222
    
    a <- read.table(file='test.txt', check.names=F, sep='\t', header=T, 
        stringsAsFactors=F)
    write.table(x=a, file='test_copy.txt', quote=F, row.names=F, 
        col.names=T, sep='\t')