[R] Problem with read.table()
Rolf Turner
rolf at math.unb.ca
Thu Jul 21 16:10:48 CEST 2005
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 at math.unb.ca
Original message:
> From r-help-bounces at 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 at ucsd.edu>
> User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
> X-Accept-Language: en-us, en
> MIME-Version: 1.0
> To: r-help at 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 at ucsd.edu
> X-Virus-Scanned: by amavisd-new at stat.math.ethz.ch
> Subject: [R] Problem with read.table()
> X-BeenThere: r-help at 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 at stat.math.ethz.ch?subject=unsubscribe>
> List-Archive: <https://stat.ethz.ch/pipermail/r-help>
> List-Post: <mailto:r-help at stat.math.ethz.ch>
> List-Help: <mailto:r-help-request at stat.math.ethz.ch?subject=help>
> List-Subscribe: <https://stat.ethz.ch/mailman/listinfo/r-help>,
> <mailto:r-help-request at 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 at ucsd.edu or ksg at essex.ac.uk
> http://weber.ucsd.edu/~kgledits/
More information about the R-help
mailing list