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”):
现在,这个输出有几个问题
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')