Can I suggest that in cov and cor the lines if (is.data.frame(x)) x <- as.matrix(x) if (is.data.frame(y)) y <- as.matrix(y) be replaced by if (is.data.frame(x)) x <- data.matrix(x) # coerce logical and factors if (is.data.frame(y)) y <- data.matrix(y) # likewise This would allow things like> data(iris) > cor(iris)which seems like a reasonable thing to do (certainly to my students!). It would also give a more informative error message:> iris$Species <- as.character(iris$Species) > cor(iris) # modified functionError in data.matrix(x) : non-numeric data type in frame as opposed to> cor(iris) # original functionError in cor(iris) : missing observations in cov/cor In addition: Warning message: NAs introduced by coercion Cheers, Jonathan. Jonathan Rougier Science Laboratories Department of Mathematical Sciences South Road University of Durham Durham DH1 3LE http://www.maths.dur.ac.uk/stats/people/jcr/jcr.html -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Jonathan Rougier <J.C.Rougier@durham.ac.uk> writes:> Can I suggest that in cov and cor the lines > > if (is.data.frame(x)) > x <- as.matrix(x) > if (is.data.frame(y)) > y <- as.matrix(y) > > be replaced by > > if (is.data.frame(x)) > x <- data.matrix(x) # coerce logical and factors > if (is.data.frame(y)) > y <- data.matrix(y) # likewiseI'd oppose that, especially for factors. Correlations between factors are as likely to be nonsens as remotely meaningful. With the current definition of data.matrix (using codes(f)), even more so:> data.matrix(data.frame(a=1:3,b=factor(c("mild","medium","severe"))))a b 1 1 2 2 2 1 3 3 3 !! -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._