R 我怎么能不读取文件中的最后一行?

R 我怎么能不读取文件中的最后一行?,r,R,下面是一个名为test的简单文件 Symbol|Security Name|Market Category|Test Issue|Financial Status|Round Lot Size AAC|Australia Acquisition Corp. - Ordinary Shares|S|N|D|100 AACC|Asset Acceptance Capital Corp. - Common Stock|Q|N|N|100 AACOU|Australia Acquisition Corp

下面是一个名为test的简单文件

Symbol|Security Name|Market Category|Test Issue|Financial Status|Round Lot Size
AAC|Australia Acquisition Corp. - Ordinary Shares|S|N|D|100
AACC|Asset Acceptance Capital Corp. - Common Stock|Q|N|N|100
AACOU|Australia Acquisition Corp. - Unit|S|N|N|100
File Creation Time: 0803201218:04|||||
如果我不需要文件中的最后一行,我可以这样做:

data = read.table('test',sep='|')
data = data[1:(nrow(data)-1),1:ncol(data)]

在中读取文件时,是否有其他直接执行此操作的方法?

更紧凑的方法是:

data=data[ -nrow(data), ]
您可能希望将输入命令更改为:

data = read.table('test', header = TRUE, sep = '|')

。。。由于标头的默认值为FALSE。

?读取。表显示:

nrows   
integer: the maximum number of rows to read in. Negative and other invalid values are ignored.

因此,如果您在读取之前知道行数,您可以使用它。

我认为这很好,但只是
data=data[1:(nrow(data)-1),]
是足够的,或者使用
data=read.csv('test',sep='|')
默认情况下它有
header=TRUE
,甚至
head(data,-1)
--虽然我觉得这很难理解。我通常使用readLines()计算行数,这有助于我指定read.table的各种参数。