Dear Professor Ripley and Professor Dalgaard Thank you for your quick reply. Now, I understand. Thank you.
-------------------------------- Hiroto Miyoshi [EMAIL PROTECTED] ----- Original Message ----- From: "Prof Brian Ripley" <[EMAIL PROTECTED]> To: "Hiroto Miyoshi" <[EMAIL PROTECTED]> Cc: "Peter Dalgaard" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Sunday, November 14, 2004 9:27 PM Subject: Re: [R] Odd behaviour of R 2.00 > On Sun, 14 Nov 2004, Hiroto Miyoshi wrote: > > > Dear Professor Dalgaard > > > >> It is the NA pattern on the left hand side that matters. Does it help > >> to use > >> > >> seishin[!is.na(seishin) & seishin==""]<-NA > >> > >> ? > > > > Yes! the above line worked perfectly. > > But why? To me, !is.na(seishin) & seishin=="" seems redundant. > > If you could explain this, it would be greatly appreciated. > > Without it, your logical matrix index contains NA. What do you intend > that to do? Do you replace the corresponding element or not? You don't > know, so perhaps you set it to NA, whatever the rhs? And do you use up a > value on the rhs or not (not relevant if as here you are recycling a > single value, except that you need to know how many times to recycle it)? > > Prior to 2.0.0, R behaved inconsistently (both within itself and with S) > with NA indices in assignments, so now we force the user to say what he > intended. This has picked up quite a number of errors. > > I do think this would be cleaner and faster using a loop over columns, > especially as you probably have factors in the data frame. Read the code > of "[<-.data.frame" if you don't see that. > > > > Thank you. > > -------------------------------- > > Hiroto Miyoshi > > [EMAIL PROTECTED] -------------------------------- Hiroto Miyoshi [EMAIL PROTECTED] ----- Original Message ----- From: "Peter Dalgaard" <[EMAIL PROTECTED]> To: "Hiroto Miyoshi" <[EMAIL PROTECTED]> Cc: "Peter Dalgaard" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Sunday, November 14, 2004 9:27 PM Subject: Re: [R] Odd behaviour of R 2.00 > "Hiroto Miyoshi" <[EMAIL PROTECTED]> writes: > > > Dear Professor Dalgaard > > > > > It is the NA pattern on the left hand side that matters. Does it help > > > to use > > > > > > seishin[!is.na(seishin) & seishin==""]<-NA > > > > > > ? > > > > Yes! the above line worked perfectly. > > But why? To me, !is.na(seishin) & seishin=="" seems redundant. > > If you could explain this, it would be greatly appreciated. > > Thank you. > > It's due to this change (do check the NEWS file when things change > unexpectedly...): > > o Subassignments involving NAs and with a replacement value of > length > 1 are now disallowed. (They were handled > inconsistently in R < 2.0.0, see PR#7210.) For data frames > they are disallowed altogether, even for logical matrix indices > (the only case which used to work). > > Now, I'm getting slightly confused here, since there appears to be > exceptions: > > > str(c) > `data.frame': 10 obs. of 2 variables: > $ a: Factor w/ 10 levels "1","10","2","3",..: 1 3 4 5 6 NA 8 9 10 2 > $ b: Factor w/ 9 levels "","a","b","e",..: 2 3 1 NA 4 5 6 7 8 9 > > c[c==""]<-NA > > str(c) > `data.frame': 10 obs. of 2 variables: > $ a: Factor w/ 10 levels "1","10","2","3",..: 1 3 4 5 6 NA 8 9 10 2 > $ b: Factor w/ 9 levels "","a","b","e",..: 2 3 NA NA 4 5 6 7 8 9 > > > version > _ > platform i686-pc-linux-gnu > arch i686 > os linux-gnu > system i686, linux-gnu > status > major 2 > minor 0.0 > year 2004 > month 10 > day 04 > language R > > Also: > > > aq <- airquality > > aq[aq==5] <- 98765432 > > aq[aq==97] <- 98765432 > Error: NAs are not allowed in subscripted assignments > > (difference being that 97 occurs in columns with NA's and 5 does not) > > -- > O__ ---- Peter Dalgaard Blegdamsvej 3 > c/ /'_ --- Dept. of Biostatistics 2200 Cph. N > (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 > ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 > > > > ----- Original Message ----- > > From: "Peter Dalgaard" <[EMAIL PROTECTED]> > > To: "Hiroto Miyoshi" <[EMAIL PROTECTED]> > > Cc: <[EMAIL PROTECTED]> > > Sent: Sunday, November 14, 2004 7:26 PM > > Subject: Re: [R] Odd behaviour of R 2.00 > > > > > >> "Hiroto Miyoshi" <[EMAIL PROTECTED]> writes: > >> > >>> Dear R users > >>> > >>> I have a data frame containing character and numeric variables, whose > >>> name is seishin. When I tried to assign NA to "" in the data frame, R, > > 2.00 > >>> showed an error message, such as > >>> > >>>> seishin[seishin==""]<-NA > >>> Error: NAs are not allowed in subscripted assignments > >>> > >>> This did not happen under R 1.9.0. > >>> > >>> More oddly, > >>> The following commands work just fine under R 2.0.0 > >>>> a<-1:10 > >>>> b<-letters[1:10] > >>>> b[3]<-"" > >>>> c<-data.frame(cbind(a,b)) > >>>> c[c==""]<-NA > >>> > >>> Why is this so? > >> > >> > >> (For atomic vectors you could also use %in% instead of ==, but this > >> doesn't work with data frames.) > >> > >>> And how can I assign NA to "" data.framewise in seishin data.frame? > >> > >> -- > >> O__ ---- Peter Dalgaard Blegdamsvej 3 > >> c/ /'_ --- Dept. of Biostatistics 2200 Cph. N > >> (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 > >> ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 > >> > >> ______________________________________________ > >> [EMAIL PROTECTED] mailing list > >> https://stat.ethz.ch/mailman/listinfo/r-help > >> PLEASE do read the posting guide! > > http://www.R-project.org/posting-guide.html > >> > >> > > > > ______________________________________________ > > [EMAIL PROTECTED] mailing list > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html > > > > > > -- > Brian D. Ripley, [EMAIL PROTECTED] > Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ > University of Oxford, Tel: +44 1865 272861 (self) > 1 South Parks Road, +44 1865 272866 (PA) > Oxford OX1 3TG, UK Fax: +44 1865 272595 > > ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
