From p.dalgaard at biostat.ku.dk  Tue Jul  3 09:08:46 2007
From: p.dalgaard at biostat.ku.dk (Peter Dalgaard)
Date: Tue, 03 Jul 2007 09:08:46 +0200
Subject: [Rd] R 2.5.1 - ?factor examples, details
In-Reply-To: <20070703021806.GA28951@alcyon.progiciels-bpi.ca>
References: <20070703021806.GA28951@alcyon.progiciels-bpi.ca>
Message-ID: <4689F5FE.6020100@biostat.ku.dk>

Fran?ois Pinard wrote:
> Hi, R people.
>
> In ?factor, in the "Examples:" section, we see:
>
>   ## suppose you want "NA" as a level, and to allowing missing values.
>   (x <- factor(c(1, 2, "NA"), exclude = ""))
>   is.na(x)[2] <- TRUE
>   x  # [1] 1    <NA> NA, <NA> used because NA is a level.
>   is.na(x)
>   # [1] FALSE  TRUE FALSE
>
> I'm a bit confused by this example, as I do not understand the point 
> being made.  Using 'exclude = ""' or not does not change the outcome.
> What is being demonstrated by this clause, here?  Isn't "NA" a mere 
> string, not really related to a missing value?
>
> It might also be some kind of linguistic problem, and I'm not a native 
> English speaker.  The "and to allowing" construct sounds strange to me.  
> I would expect either "and to allow" or "and allowing", but maybe I'm 
> plainly missing the meaning of the statement.
>
> Could this be clarified somehow?
>
>   
I think this is a relic. In the olden days, there was no such thing as a 
missing character values, and factor() would behave like

 >  (x <- factor(c(1, 2, "NA"), exclude = "NA"))
[1] 1    2    <NA>
Levels: 1 2

...which was a pain when dealing with abbreviations for "noradrenalin", 
"North America", "New Alliance", "Neil Armstrong", etc. So character NA 
was added to R, and the example became irrelevant without anyone noticing.



[Rd] R 2.5.1 - ?factor examples, details
Peter Dalgaard