Data frame vs matrix quirk: Hinky error message?
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.Harding at wlandres.net> Date: 01-May-2012 Time: 19:03:14 This message was sent by XFMail