It's documented, David: >From ?"[.data.frame"
"Matrix indexing (x[i] with a logical or a 2-column integer matrix i) using [ is not recommended. For extraction, x is first coerced to a matrix..." ergo characters for a mixed mode frame. Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Sat, Dec 17, 2016 at 10:49 AM, David Winsemius <dwinsem...@comcast.net> wrote: > This puzzle started with an SO posting where the questioner showed output > from a dataframe that had been indexed with a matrix. The output appeared to > show that numeric values had been coerced to character. Once I got a > reproducible example I discovered that the print output was the problem and > that the actual values had not been coerced. I've created a much smaller test > case and it appears from the testing below that a matrix indexed output from > a dataframe with mixed numeric and character types will be printed as > character even if none of the values indexed are character: > >> dat <- setNames( as.data.frame( matrix(1:12, ncol=4) ), LETTERS[1:4]) >> dat > A B C D > 1 1 4 7 10 > 2 2 5 8 11 > 3 3 6 9 12 >> dat[2,4]<-NA >> dat[3,3]<-NA >> ng <- which(is.na(dat), arr.ind=TRUE) >> ng > row col > [1,] 3 3 > [2,] 2 4 >> dat[ng] <- 20 >> dat[ng] > [1] 20 20 > > That was as expected. Now repeat the process with a dataframe of mixed types. > >> dat[2,4]<-NA >> dat[3,3]<-NA >> dat[,1]<- "a" >> dat > A B C D > 1 a 4 7 10 > 2 a 5 8 NA > 3 a 6 NA 12 >> dat[ng] <- 20 >> dat[ng] > [1] "20" "20" > > Quoted print output was not what I was expecting. > > -- > > David Winsemius > Alameda, CA, USA > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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 -- To UNSUBSCRIBE and more, see 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.