On Feb 5, 2011, at 10:37 AM, Mike Marchywka wrote:
From: dwinsem...@comcast.net
To: asanram...@yahoo.com
Date: Sat, 5 Feb 2011 10:24:04 -0500
CC: r-help@r-project.org
Subject: Re: [R] spline interpolation
On Feb 5, 2011, at 9:29 AM, Asan Ramzan wrote:
Hello R-help
I have the following data for a standard curve
concentration(nM),fluorescence
0,48.34
2,58.69
5,70.83
10,94.73
20,190.8
50,436.0
100, 957.9
(1)Is there function in R to plot a spline.
?spline
(2)How can I interpolation,say 1000 point from 0nM-100nM and store
this as a
data frame of concentration,fluorescence
?approxfun
I was waiting for some other code to finish and thought I would give
this a try.
I'm still learning R, maybe you can comment on this approach
# made data file
f1<-read.table("d1.txt",sep=",")
ss<-smooth.spline(f1$V1,f1$V2)
# it is alwys good to look first.
plot(ss)
lines(ss)
str(ss)
ssi<-smooth.spline(f1$V2,f1$V1)
predict(ssi,200.3456)
predict(ssi,1:10)
predict(ssi,1:100)$y
Works for me. smooth.spline() is better than spline() for noisy data.
spline() hits every point. And there are further good examples on ?
spline and ?smooth.spline. The splines package alos provides the bs()
and ns() functions for B-splines and natural splines (=cubic splines)
as terms in model formulae. (There's no protection against
extrapolation outside the domain)
f1 <- data.frame(x=1:100, y=log(1:100)+rnorm(100))
plot(f1)
ss<-smooth.spline(f1$x,f1$y)
plot(ss, type="l")
points(f1)
predict(ss, 200.3456)
######
$x
[1] 200.3456
$y
[1] 8.185104
etc
(3)How can I modify the code below so that instead of retrieving a
concentration
with the exact value of fluorescence, it gives me concentration for
the value
that is closest to that fluorescence.
?which.min #(although I would be using "[" rather than subset for
that purpose.)
subset(df,fluorescence==200.3456,select=concentration)
David Winsemius, MD
West Hartford, CT
David Winsemius, MD
West Hartford, CT
______________________________________________
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.