R中的基本输入文件解析

Dav*_*d B 5 perl parsing r file

我习惯了perl和R的新手.我知道你可以阅读整个表格,read.table()但我想知道如何使用R来解析输入文件中的一行.

具体来说,什么相当于以下perl片段:

open my $fh, $filename or die 'can't open file $filename';
my $line = <$fh>;
my ($first, $second, $third) = split ("\t", $line);
Run Code Online (Sandbox Code Playgroud)

Gre*_*now 3

与上面类似的是:

filename <- 'your/file/name/here'
fh <- file( filename, open='rt' )
line <- readLines(fh, n=1 )
tmp <- strsplit(line, "\\t")
first <- tmp[[1]][1]; second <- tmp[[1]][2]; third <- tmp[[1]][3]
Run Code Online (Sandbox Code Playgroud)

文件函数创建到文件的连接并打开它,打开是可选的,但是如果您不打开文件,那么当您从中读取文件时,它将打开然后再次关闭文件,如果您打开文件,那么它仍然存在打开,下一次读取将从上一次留下的位置继续(与上面 Perl 所做的最接近的匹配)。

readLines 函数将读取指定的行数(在本例中为 1),然后 strsplit 的工作原理与 Perl split 函数基本相同。

R 没有像 Perl 那样的多重赋值(通常最好将结果放在一起,而不是分成多个全局变量)。