Re: [R] Problem with read.table()

From: Rolf Turner <rolf_at_math.unb.ca>
Date: Fri 22 Jul 2005 - 00:10:48 EST

I don't really understand it, but the problem seems to come down to the presence of apostrophes (single right quotes "'") in the text strings.

The first of these occurs in line 149 (not counting the header line). If one tries to scan just that line, one gets a vector of length 10. Fields 10 to 14 are read as a single field. Upon deleting the apostrophe, I got a a vector of length 14 (OMMMMMMMMMMM!)

The help on scan() talks about a quote argument and indicates that if sep is not the newline character, then quote defaults to "'\"". It remarks that you can include quotes inside strings by doubling them. I did a global substitution, changing "'" to "''" throughout, and the read.table() worked (i.e. didn't complain and yielded up a data frame of dimension 2935 x 14). But no apostrophes appeared in the fields in the resulting data frame.

The help seems to indicate that you can get around the problem by specifying quote = some character which doesn't appear in the file. (This also saves having to do a global edit.) I tried quote="#" and it seemed to work in this instance. And the apostrophes ***did*** appear in the strings in the data frame.

I don't grok why the complaint shows up at line 260 rather than immediately at line 149 .... but it's a start.

                                cheers,

					Rolf Turner
					rolf@math.unb.ca

Original message:

> From r-help-bounces@stat.math.ethz.ch Thu Jul 21 10:12:09 2005
> Date: Thu, 21 Jul 2005 14:11:36 +0100
> From: Kristian Skrede Gleditsch <kgleditsch@ucsd.edu>
> User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
> X-Accept-Language: en-us, en
> MIME-Version: 1.0
> To: r-help@stat.math.ethz.ch
> X-Essex-ClamAV: No malware found
> X-Essex-MailScanner: Found to be clean
> X-Essex-MailScanner-SpamCheck: not spam, SpamAssassin (score=-2.82,
> required 5, autolearn=disabled, ALL_TRUSTED -2.82)
> X-MailScanner-From: kgleditsch@ucsd.edu
> X-Virus-Scanned: by amavisd-new at stat.math.ethz.ch
> Subject: [R] Problem with read.table()
> X-BeenThere: r-help@stat.math.ethz.ch
> X-Mailman-Version: 2.1.6
> List-Id: "Main R Mailing List: Primary help" <r-help.stat.math.ethz.ch>
> List-Unsubscribe: <
https://stat.ethz.ch/mailman/listinfo/r-help>,
> <mailto:r-help-request@stat.math.ethz.ch?subject=unsubscribe>
> List-Archive: <
https://stat.ethz.ch/pipermail/r-help>
> List-Post: <mailto:r-help@stat.math.ethz.ch>
> List-Help: <mailto:r-help-request@stat.math.ethz.ch?subject=help>
> List-Subscribe: <https://stat.ethz.ch/mailman/listinfo/r-help>,
> <mailto:r-help-request@stat.math.ethz.ch?subject=subscribe>
> Content-Transfer-Encoding: 7bit
> X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on erdos.math.unb.ca

> X-Spam-Math-Flag: NO
> X-Spam-Math-Status: No, hits=0.0 required=5.0 tests=BAYES_50 autolearn=no
> version=3.0.4
>
> Dear all,
>
> I have encountered a strange problem with read.table(). When I try to
> read a tab delimited file I get an error message for line 260 not being
> equal to 14 (see below).
>
> Using count.fields() suggests that a number of lines have length not
> equal to 14, but not 260.
>
> Looking at the actual file, however, I cannot see anything wrong with
> any lines. They all seem to have length 14, there are no double tabs
> etc., and the file reads correctly in other programs. Does anyone have
> any suggestions as to what this might stem from?
>
> I have placed a copy of the file at
> http://dss.ucsd.edu/~kgledits/archigos_v.1.9.asc
>
> regards,
> Kristian Skrede Gleditsch
>
>
> > archigos1.9 <- read.table("c:/work/work12/archigos/archigos_v.1.9.asc",
> + sep="\t",header=T,as.is=T,row.names=NULL)
> Error in scan(file = file, what = what, sep = sep, quote = quote, dec =
> dec, :
> line 260 did not have 14 elements
> > a <- count.fields("c:/work/work12/archigos/archigos_v.1.9.asc",sep="\t")
> > a <- data.frame(c(1:length(a)),a)
> > a[a[,2]!=14,]
> c.1.length.a.. a
> 150 150 10
> 313 313 10
> 424 424 10
> 1189 1189 5
> 1510 1510 10
> 1514 1514 10
> 1590 1590 5
> 1600 1600 10
> 1612 1612 10
> 1618 1618 10
> 1619 1619 10
> 1709 1709 10
> 1722 1722 10
> 1981 1981 10
> 1985 1985 10
> 2112 2112 10
> 2178 2178 10
> 2208 2208 10
> 2224 2224 10
> 2530 2530 5
> 2536 2536 5
> 2573 2573 5
> 2928 2928 5
> --
> Kristian Skrede Gleditsch
> Department of Political Science, UCSD
> (On leave, University of Essex, 2005-6)
> Tel: +44 1206 872499, Fax: +44 1206 873234
> Email: kgleditsch@ucsd.edu or ksg@essex.ac.uk
> http://weber.ucsd.edu/~kgledits/



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Jul 22 00:44:13 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:33:55 EST