Dear Bill,
For bivariate data, ordinary least product regression is equivalent to
geometric mean regression, or what Freedman/Pisani/Purves call the “SD Line”
(line passing through the centroid of the data, whose slope's magnitude is
the ratio of the standard deviations of the variables, and sign of the slope
is equal to the sign of the covariance). It is also the first standardized
principal component.
I think this will work for bivariate data. (It first removes any data pair
with at least one NA.)
gmr <- function(x,y)
{
if (is.numeric(x) & is.numeric(y) & length(x) == length(y)) {
na.idx <- is.na(x) | is.na(y)
x <- x[!na.idx]
y <- y[!na.idx]
slope <- sign(cov(x,y))*sd(y)/sd(x)
int <- mean(y) - slope*mean(x)
} else {
int <- NA
slope <- NA
print("Wrong data type")
}
list(int=int,slope=slope)
}
/* References: */
Barker, Soh, & Evans, 1988: Biometrics, 44: 279-281.
Draper & Yang, 1997: Computational Statistics and Data Analysis, 23:
355-372.
Freedman, Pisani & Purves, 2007: Statistics, 4th ed. (Norton, New York).
Kruskal, 1953: Biometrics, 9: 47-58.
Ludbrook, 1997: Clinical and Experimental Pharmacology and Physiology, 24:
193-203.
Tofallis, 2003: Annals of Operations Research, 124: 69-79.
------------------------------
Date: Tue, 26 Jul 2011 22:45:37 -0700 (PDT)
From: Bill Hyman <billhym...@yahoo.com>
To: "R-help@r-project.org" <R-help@r-project.org>
Subject: [R] Ordinary Least Products regression in R
Message-ID:
<1311745537.86654.yahoomail...@web126116.mail.ne1.yahoo.com>
Content-Type: text/plain; charset=us-ascii
Dear all,
Does any one know if any R package or function can do Ordinary Least
Products regression? Many thanks!
Bill
______________________________________________
R-help@r-project.org mailing list
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.