[Rd] Behaviour of read.table with empty columns

Gabor Grothendieck ggrothendieck at gmail.com
Wed May 9 17:40:57 CEST 2007


Perhaps this has to do with the fact that there is not enough
information available
to establish the class of those columns.  For example, try this:

read.table("clipboard", colClasses = "character")


On 5/9/07, John Fox <jfox at mcmaster.ca> wrote:
> Dear r-devel list members,
>
> I stumbled across the following behaviour of read.table() recently: Suppose
> that I have the data
>
> a  " " ""
> "" ""  ""
>
> in a file or copied to the clipboard, and issue the command
>
> > DF <- read.table("clipboard")
> > DF
>  V1 V2 V3
> 1  a NA NA
> 2    NA NA
>
> > is.na(DF)
>        V1   V2   V3
> [1,] FALSE TRUE TRUE
> [2,] FALSE TRUE TRUE
>
> I was surprised by the NAs. Note that they occur only when a column consists
> entirely of empty strings or strings composed of blanks.
>
> On the other hand
>
> > data.frame(A=c("", "", ""))
>  A
> 1
> 2
> 3
>
> works as I would have expected.
>
> A work-around for me was
>
> > DF[is.na(DF)] <- ""
> > DF
>  V1 V2 V3
> 1  a
> 2
>
> But, as I said, I found the behaviour of read.table() puzzling.
>
> All this is with R 2.5.0 on a Windows XP Pro SP 2 system.
>
> Comments?
>
> Thanks,
>  John
>
> --------------------------------
> John Fox, Professor
> Department of Sociology
> McMaster University
> Hamilton, Ontario
> Canada L8S 4M4
> 905-525-9140x23604
> http://socserv.mcmaster.ca/jfox
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list