# Re: R-beta: spline problems(?)

Martin Maechler (maechler@stat.math.ethz.ch)
Tue, 7 Apr 1998 09:54:40 +0200

Date: Tue, 7 Apr 1998 09:54:40 +0200
Message-Id: <199804070754.JAA00502@sophie.ethz.ch>
From: Martin Maechler <maechler@stat.math.ethz.ch>
To: jlindsey@luc.ac.be
Subject: Re: R-beta: spline problems(?)

>>>>> "Jim" == Jim Lindsey <jlindsey@luc.ac.be> writes:

Jim> I suspect that this is a problem that I pointed out some time ago
Jim> with integers. seq and : produce integers and the C code of spline
Jim> is expected doubles. Try as.double() around your 1:nrow(y) and
Jim> seq() calls to see if the problem goes away.  Jim

Jim, this was exactly my own first suspicion, also.
But it's wrong.

spline(.) uses  xy.coord(.)
[[a very useful thing!  use it in your own functions!!]]
and xy.coord(.)
ends in
return(list(x = as.real(x), y = as.real(y), xlab = xlab,
ylab = ylab))

which ensures that integers are coerced to real (== double in R).

It must be rather another problem, as  Ross already mentioned,
and is investigating himself.

Martin

Tasos>  Hi,
Tasos>
Tasos> I am a total beginner with this whole thing so please have patience!
Tasos>
Tasos> I am trying to run an S-plus program with a certain line:
Tasos> spline(1:nrow(y), y[,1],n=100);
Tasos>
Tasos> This crashes with: Error: NAs in foreign function call (arg 8)
Tasos>
Tasos> Apparently, this is caused by the last command of spline: u <-
Tasos> seq(xmin, xmax, length.out = n) .C("spline_eval", z\$method,
Tasos> length(u), x = u, y = double(n), z\$n, z\$x, z\$y, z\$b, z\$c,
Tasos> z\$d)[c("x", "y")] }
Tasos>
Tasos> Now, I can cause that error with: spline(1:10,1:10) So, there is a
Tasos> whole class of problems for which spline refuses to compute anything
Tasos> - is this the correct behaviour? E.g., spline(1:10,(1:10)/2.5) #it
Tasos> is alright, but ...  spline(1:10,(1:10)/2) # this has the "NAs.."
Tasos> problem
Tasos>
Tasos> Finally, I am almost sure that the y matrix in my program has quite
Tasos> normal values, i.e. values that should allow for meaningful
Tasos> interpolation.  Anybody knows what this all is about?
Tasos>
Tasos> Thanks,
Tasos>
Tasos> Tasos T.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help 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-help-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._