How to skip comments line in data file I want to import, with R

user2551551 picture user2551551 · Jul 5, 2013 · Viewed 12.7k times · Source

I've many string files (.str), and I want to import them in R (looping on files). The problem is that the first line is neither columns name nor the beginning of the matrix.. It is a comment line. Idem for the last line. between those two lines, stand up the matrix I want to import.. How can I do that ?

Thx

Answer

Hong Ooi picture Hong Ooi · Jul 5, 2013

If you want to skip the first and last lines in a file, you can do it as follows. Use readLines to read the file into a character vector, and then pass it to read.csv.

strs <- readLines("filename.csv")
dat <- read.csv(text=strs,             # read from an R object rather than a file
                skip=1,                # skip the first line
                nrows=length(strs) - 3 # skip the last line
                )

The - 3 is because the number of rows of data is 3 less than the number of lines of text in the file: 1 skipped line at the beginning, 1 line of column headers, and 1 skipped line at the end. Of course, you could also just ignore the nrows argument, and delete the nonsense row from your data frame after the import.