将.txt文件读取到R中的选项卡

将.txt文件读取到R中的选项卡,r,file,save,R,File,Save,我想读取R中的.txt文件,该文件通过以下行导出: cat(sprintf("%s\n",paste0(matematykData)),file=nazwapliku2,append = TRUE) 该行在循环中,因此它逐行保存,变量matematykData是一个1dim选项卡,它只包含一条记录,在下一次运行“for loop”时被另一条记录替换,如下所示: [1] "1884" 2962 1847 2963 1866 2964 1906 2965 429 2966

我想读取R中的.txt文件,该文件通过以下行导出:

cat(sprintf("%s\n",paste0(matematykData)),file=nazwapliku2,append = TRUE)
该行在循环中,因此它逐行保存,变量matematykData是一个1dim选项卡,它只包含一条记录,在下一次运行“for loop”时被另一条记录替换,如下所示:

[1] "1884"
2962   1847
2963   1866
2964   1906
2965    429
2966    450
2967    450
2968   1910
2969   1900
2970   1889
我在另一个R脚本中使用的读取方法是:

dane2=read.table(file=nazwapliku2,sep="\n",skipNul= FALSE)
由此我得到一个没有任何行和列的字符串,如下所示:

[1] "1884"
2962   1847
2963   1866
2964   1906
2965    429
2966    450
2967    450
2968   1910
2969   1900
2970   1889
其中,第一列是行号。我想将该字符串转换为tab,这样我就可以引用它的每一行,只需使用dane2[I],其中“I”是我要查找的行数。我不确定我是否应该改变它的保存或读取方式,或者我应该阅读它然后转换它

我还有其他需要转换的变量,它更复杂,因为它每行包含3条记录:全名、出生日期和地点、死亡日期和地点。我用来保存它的方法是相同的:

cat(sprintf("%s\n%s\n%s\n",paste0(matematyk[1]),paste0(matematyk[2]),paste0(matematyk[3])),file=nazwapliku1,append = TRUE)

对于第一种情况,它应该与dane2[i]一起用于行号

您必须区分记录和变量。 在第二种情况下,我知道您有几个记录,每个记录都有5个变量

全名、出生日期、出生地点、死亡日期、死亡地点


在这种情况下,您需要更改保存数据的方式。在变量之间,您需要使用例如\t来分隔变量,并且仅使用\n作为sprintf()调用格式字符串中的最后一个来分隔单个记录。

不要在此处使用sep=“\n”那么我应该使用哪个分隔符\t?您应该在单行中的元素之间使用分隔符。更改分隔符似乎不会对其产生任何影响。我通过读取文件得到的输入仍然是单个字符串。也许有一种方法可以使用strsplit或类似的东西。