On 01-May-2012 17:33:23 Bert Gunter wrote: > AdvisoRs: > > Is the following a bug, feature, hinky error message, or dumb Bert? > > mtest <- matrix(1:12,nr=4) > dftest <- data.frame(mtest) > ix <- cbind(1:2,2:3) > mtest[ix] <- NA > mtest > [,1] [,2] [,3] > [1,] 1 NA 9 > [2,] 2 6 NA > [3,] 3 7 11 > [4,] 4 8 12 > >## But ... > dftest[ix] <- NA > Error in `[<-.data.frame`(`*tmp*`, ix, value = NA) : > only logical matrix subscripts are allowed in replacement > > Obviously, I was expecting matrix indexing for replacement to > work similarly in both cases; however, I can see why it would > be problematic for data frames (mixed types), but was a bit > nonplussed by the error message, which seems hinky to me. > > Cheers, > Bert
Also interesting is that, prior to the substitution commands, mtest[ix] # [1] 5 10 dftest[ix] # [1] 5 10 both as one would expect on Bert's "naive" gounds (which, I confess, I also share[d]). Ted. ------------------------------------------------- E-Mail: (Ted Harding) <ted.hard...@wlandres.net> Date: 01-May-2012 Time: 19:03:14 This message was sent by XFMail ______________________________________________ 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.