Skip to content

(PR#1577) [Rd] is.na<- coerces character vectors to be factors

1 message · a296180@mica.fmr.com

#
Thanks for taking the time and trouble to explain this to me.

ripley@stats.ox.ac.uk writes:
 > You'll see that [[<-.data.frame contains
 > 
 >             if (!inherits(value, "data.frame"))
 >                 value <- as.data.frame(value)
 > 
 > and that is where the coercion is done.  It really isn't possible to tell
 > your intentions if you replace a whole column of a data frame.

What is the appropriate way to change the value in a single row in a dataframe
to NA without having to "replace a whole column"? That is, how can I change the
value "B" in row 2 to being NA while keeping var as a vector of characters?
One obvious answer is to use simple assignment.
var
1    A
2   <NA>
3    C
[1] TRUE
This has the desired effect. Moreover, something like this would work with my
merge.data.frame problem. However, I have been operating under the (mistaken?)
impression that assigning NA directly was A Bad Thing.
> On Mon, 20 May 2002 a296180@mica.fmr.com wrote:
> 
 > > I am not sure if this is a bug within is.na<- or if it lies deeper in the
 > > dataframe construction process. Indeed, perhaps it is not a bug at all (in
 > > which case I would suggest that the help page for NA be provided with a warning
 > > for unsuspecting users (like me)).
 > 
 > Not appropriate!

Yes. I see that now.

Regards,

David Kane

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._