Prof Brian Ripley
1999-Jan-20 13:48 UTC
dist(*, "euclidean") [was "dist function suggestion"]
> BDR> You will need to call it something else: dist is a clone of an S > BDR> function, and dist(X, "manhattan") is well-established usage. > > one could still imagine an extra Y argument such that > dist(X, Y=myY, method="euclidean") > and dist(X, "euclidean", Y=myY) > would work > one could even make it such that > both > dist(X, myY) > and dist(X, "euclidean") > would work. However, the extra hack for dist(X, Y)Um, I did think about that, but precisely what would be rules be? For now the second argument can be anything coercable to a character (why is match.arg not used?), or should be since ?pmatch says x: the values to be matched. without mentioning mode, although the internal code has isString (whatever precisely that is). In particular, names fail in R but not S, although as documented they should work in R but not S:> pmatch(as.name("test"), "test")Error in pmatch(x, table, duplicates.ok) : argument is not of mode character So at present if the second argument is a character matrix it works. And there is an as.matrix on X. So what do you want Y to be? numeric? (At present I can have X as a data frame with factors, e.g. dist(data.frame(factor(1:10)))!) matrix? ? While I am at it> X <- c(Inf, 0, 0) > library(mva) > dist(X)Error: NAs in foreign function call (arg 1) is confusing: the error message is caused by Infs too. (I found this when writing a version of dist to handle NAs as S's does: the bare code is now an example in the V&R R complements.) Brian -- Brian D. Ripley, ripley@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272860 (secr) Oxford OX1 3TG, UK Fax: +44 1865 272595 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._