[R] problem with read.table
Douglas Bates
bates at stat.wisc.edu
Tue Feb 3 23:43:28 CET 2004
ryszard.czerminski at pharma.novartis.com writes:
> Any ideas why read.table complains about not correct number of elements in
> line
> while readLine/strsplit indicate that all lines have the same number of
> elements ?
>
> R
>
>
> > tbl <- read.table('tmp', header = T, sep = '\t')
> Error in scan(file = file, what = what, sep = sep, quote = quote, dec =
> dec, :
> line 32 did not have 27 elements
> > lines <- readLines('tmp')
> > v <- 1:length(lines)
> > i <- 0; for (line in lines) { i <- i + 1; v[i] <- length(strsplit(line,
> '\t')[[1]]) }
> > v
> [1] 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
> 27 27
> [26] 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
> 27 27
> [51] 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
> > sum((v - v[1])^2)
> [1] 0
> > length(strsplit(lines[32], '\t')[[1]])
> [1] 27
Try count.fields to see what line is giving problems. Watch
especially for comment characters (default is '#') and quote
characters. My good friends in Biological Sciences (including my
spouse and one of my children) have a habit of incorporating 3' and 5'
in descriptive text and that always trips me up.
More information about the R-help
mailing list