I am new to R. I am trying to read in a "CSV" file that is space-space delimited. The file does not have headers. It looks like this
Element1 Element2 Element5 Element6 Element7
I am trying to read it in like this:
> mydata <- read.table("/PathTo/file.csv") Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : line 1 did not have 14 elements
Why does it expect 14 elements in the first row? How do I import this file?
read.table
wants to return a data.frame
, which must have an element in each column. Therefore R expects each row to have the same number of elements and it doesn't fill in empty spaces by default. Try read.table("/PathTo/file.csv" , fill = TRUE )
to fill in the blanks.
e.g.
read.table( text= "Element1 Element2 Element5 Element6 Element7" , fill = TRUE , header = FALSE ) # V1 V2 V3 #1 Element1 Element2 #2 Element5 Element6 Element7
A note on whether or not to set header = FALSE
... read.table
tries to automatically determine if you have a header row thus:
header
is set toTRUE
if and only if the first row contains one fewer field than the number of columns
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With