[R] Data frame vs matrix quirk: Hinky error message?

Bert Gunter gunter.berton at gene.com
Tue May 1 19:33:23 CEST 2012


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

-- 

Bert Gunter
Genentech Nonclinical Biostatistics

Internal Contact Info:
Phone: 467-7374
Website:
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm



More information about the R-help mailing list