[R] fit data to y~A+B*sin(C*x)

David L Carlson dcarlson at tamu.edu
Tue Feb 14 16:18:41 CET 2012


Don't you want to predict testsin (aka Y) from X? 

> nlmod <- nls(Y ~ A+B*sin(C* X), data=mydata, start=list(A=2, B=4, C=1),
trace=TRUE)
50.42965 :  2 4 1 
0.007393982 :  1.9989006 5.0014997 0.9999902 
0.007377637 :  1.9989005 5.0015002 0.9999922 
0.007377637 :  1.9989005 5.0015002 0.9999922 
> nlmod
Nonlinear regression model
  model:  Y ~ A + B * sin(C * X) 
   data:  mydata 
    A     B     C 
1.999 5.002 1.000 
 residual sum-of-squares: 0.007378

Number of iterations to convergence: 3 
Achieved convergence tolerance: 1.499e-08

----------------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77843-4352


-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of Sarah Goslee
Sent: Tuesday, February 14, 2012 9:13 AM
To: Jonas Stein
Cc: r-help at stat.math.ethz.ch
Subject: Re: [R] fit data to y~A+B*sin(C*x)

Hi Jonas,

I'm afraid we need more detail.

On Mon, Feb 13, 2012 at 5:54 PM, Jonas Stein <news at jonasstein.de> wrote:
> I want to fit discrete data that was measured on a wavegenerator.
> In this minimal example i generate some artificial data:
>
> testsin <- 2+ 5 * sin(1:100) #generate sin data
> testsin <-  testsin+ rnorm(length(testsin), sd = 0.01) #add noise
>
> mydata <- list(X=1:100, Y=testsin) # generate mydata object
>
> nlmod <- nls(X ~ A+B*sin(C* Y), data=mydata, start=list(A=2, B=4, C=1),
trace=TRUE)
>
> # this nls fit fails.
>

Fails how? It runs when I copy and paste your code into a terminal, given:
> sessionInfo()
R version 2.14.1 (2011-12-22)
Platform: x86_64-redhat-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=C                 LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

What happens when you run it? What do you expect to happen?
What's your sessionInfo()?

"fails" doesn't convey enough information here.

Sarah

-- 
Sarah Goslee
http://www.functionaldiversity.org

______________________________________________
R-help at 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.



More information about the R-help mailing list