>>>>> Duncan Murdoch <murdoch.dun...@gmail.com> >>>>> on Fri, 27 May 2011 08:23:14 -0400 writes:
> On 11-05-27 4:27 AM, Albert-Jan Roskam wrote: >> Aha! Thank you very much for that clarification! It would >> be much more user friendly if R generated a >> NotImplementedError or something similar. The 'garbage >> results' are pretty misleading, esp. to a novice. > I think that's a good idea. The default methods are > documented to work on atomic vectors; dataframes are not > atomic vectors, so it would be reasonable to generate an > error. (See ?is.atomic for a definition of atomic > vectors.) > I'll see if this causes a lot of trouble... > Duncan Murdoch Duncan, do you remember the issue of mean(), var(), median(),... etc that was the topic a few weeks ago ? I strongly advocated that mean.data.frame() should become *deprecated*, and I would propose the same for the functions mentioned here. People should *apply (or *ply) on data frames, and not expect that all kind of functions have data.frame methods which are simply equivalent to basically sapply(<df>, <function>) {and yes -- all this belongs to R-devel rather than R-help} Martin >> I wanted to recode every NaN and Inf value of an entire >> data.frame to NA. The data.frame also includes character >> variables. So the following might work (?) (Can't test >> it here) >> >> ditch<- function(x) ifelse(is.infinite(x) | is.nan(x), >> NA, x) df<- apply(df, 2, ditch) >> >> >> >> >> >> ________________________________ From: William >> Dunlap<wdun...@tibco.com> >> >> Cc: R Mailing List<r-help@r-project.org> Sent: Fri, May >> 27, 2011 12:57:01 AM Subject: RE: [R] NaN, Inf to NA >> >> I think the source of the OP's problem is that while >> things like df>30 and is.na(df) return a logical matrix >> with the dimensions of the data.frame df, both >> is.infinite(df) and is.nan(df) return a logical vector as >> long as the number of columns of df. (`>` and is.na have >> data.frame methods but is.infinite and is.nan do not: the >> latter give garbage results for data.frames.) >> >> Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com >> >>> -----Original Message----- From: >>> r-help-boun...@r-project.org >>> [mailto:r-help-boun...@r-project.org] On Behalf Of Marc >>> Schwartz Sent: Thursday, May 26, 2011 2:15 PM To: >>> Albert-Jan Roskam Cc: R Mailing List Subject: Re: [R] >>> NaN, Inf to NA >>> >>> On May 26, 2011, at 3:18 PM, Albert-Jan Roskam wrote: >>> >>>> Hi, >>>> >>>> I want to recode all Inf and NaN values to NA, but I;m >>> surprised to see the >>>> result of the following code. Could anybody enlighten >>>> me >>> about this? >>>> >>>>> df<- data.frame(a=c(NA, NaN, Inf, 1:3)) >>>>> df[is.infinite(df) | is.nan(df)]<- NA df >>>> a 1 NA 2 NaN 3 Inf 4 1 5 2 6 3 >>>>> >>>> >>> >>> Thanks! >>>> >>>> Cheers!! Albert-Jan >>> >>> >>> The canonical way is to use is.na() to assign the NA >>> value based upon a condition. See ?is.na for more >>> information. >>> >>> is.na(df$a)<- !is.finite(df$a) >>> >>>> df >>> a 1 NA 2 NA 3 NA 4 1 5 2 6 3 >>> >>> >>> HTH, >>> >>> Marc Schwartz >>> >>> ______________________________________________ >>> R-help@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do >>> read the posting guide >>> http://www.R-project.org/posting-guide.html and provide >>> commented, minimal, self-contained, reproducible code. >>> >> > [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do >> read the posting guide >> http://www.R-project.org/posting-guide.html and provide >> commented, minimal, self-contained, reproducible code. > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do > read the posting guide > http://www.R-project.org/posting-guide.html and provide > commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.