From Ted.Harding at wlandres.net  Thu Apr  5 13:22:03 2012
From: Ted.Harding at wlandres.net ( (Ted Harding))
Date: Thu, 05 Apr 2012 12:22:03 +0100 (BST)
Subject: [Rd] "NA" vs. NA
In-Reply-To: <CAJ=0CtBXsC22CW8_UnyYvsi-w9PJc=iXYQbW6srC0d3VYs0O2Q@mail.gmail.com>
Message-ID: <XFMail.20120405122203.Ted.Harding@wlandres.net>

On 05-Apr-2012 11:03:15 Adrian Dusa wrote:
> Dear All,
> 
> I assume this is an R-devel issue, apologies if I missed something
> obvious. I have a dataframe where the row names are country codes,
> based on ISO 3166, something like this:
> 
> ------------
> "v1"    "v2"
> "UK"    1    2
> "NA"    2    3
> ------------
> 
> It happens that "NA" is the country code for "Namibia", and that
> creates problems on using this data within a package due to this:
> 
> Error in read.table(zfile, header = TRUE, as.is = FALSE) :
>   missing values in 'row.names' are not allowed
> 
> I realise that NA is reserved in R, but I assumed that when quoted it
> would be usable.
> For the moment I simply changes the country code, but I wonder if
> there's any (other) solution to circumvent this issue.
> 
> Thanks very much in advance,
> Adrian

Hi Adrian,
The default in read.table() for the "na.strings" parameter is

  na.strings = "NA"

So, provided you have no "NA" in the data portion of your file
(or e.g. any missing values are simply blank) you could use
something like:

read.table(zfile, header = TRUE, as.is = FALSE, na.strings="OOPS")

which should avoid the problem.

Hoping this helps,
Ted.

-------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at wlandres.net>
Date: 05-Apr-2012  Time: 12:21:57
This message was sent by XFMail



[Rd] "NA" vs. NA
 (Ted Harding