Sun,
On 24 Oct 2004, at 10:24, XP Sun wrote:

Hi, Everyone,

I want to calculate the principal curve of a points set.
First I read the points'coordinate with function "scan",
then converted it to matrix with the function "matrix",
and fit the curve with function "principal.curve".

Here is my data in the file "bmn007.data":
0.023603         -0.086540       -0.001533
0.024349         -0.083877       -0.001454
..
..
0.025004         -0.083690       -0.001829
0.025562         -0.083877       -0.001857
0.026100         -0.083877       0.000090
0.025965         -0.083877       0.002574

and the code as follow:

pp <- scan("bmn007.data", quiet= TRUE)
x <- matrix(pp, nc=2, byrow=TRUE)
fit <- principal.curve(x, plot = TRUE)
points(fit,col="red")

By now, I got a right result.
But when i changed to use pcurve with matrix x as "pcurve(x)",
an error was thrown as following:

Estimating starting configuration using : CA
Error in h %*% diag(sqrt(d)) : non-conformable arguments

How to convert a matrix to the format could be accepted by "pcurve"?
Any help appreciated!

Sun,

The canonical answer is "ask De'ath" (the author of the package). The rest is guessing. It seems that pcurve uses correspondence analysis ("CA") to estimate the starting configuration. CA doesn't handle cases where any of the marginal sums (row or column sums) are negative or zero. Do you have this kind of cases? If so, can you get rid of them? Does pcurve have another option than CA for getting the starting configuration?

cheers, jari oksanen
--
Jari Oksanen, Oulu, Finland

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to