[R-sig-dyn-mod] Help with function
Daniel, I apologize for the confusion. I feel bad asking for this much help. As earlier stated, I am still extremely new to R. I have only used it on extremely simple linear statistics (e.g., multiple regression, ANOVA, etc). I am trying to learn deSolve and do not know what the program requires for my syntax to run on my data. Specifically, what I need to name my variable in the dataset or name the variable in equation syntax. For example, below is my equation and a link to my dataset variable names. When I run the syntax for that model, it does not run on my data and give me a summary of the fit and other results. I was wondering if you could help me learn to run it, and after this example, I would hopefully be able to run these models on my own. Link: http://s1074.photobucket.com/user/austinmullings89/media/Picture%20of%20Levy%20Model%20data.jpg.html Equation syntax: library(deSolve) myfn <- function(t, y, p) { dy <- numeric(6) dy[1] <- p[1] - p[2]*y[4] - p[3]*y[1] dy[2] <- y[5]*dy[1]*(1+y[6]) - p[5]*y[2] - (p[6]*y[3]*y[4]*y[1] - p[7]) dy[3] <- p[8] - p[9]*y[2] dy[4] <- y[6]*dy[1] - p[10]*y[4] + p[11]*(p[6]*y[3]*y[4]*y[1] - p[7]) + p[4] dy[5] <- 1.0 - y[5]*(y[1] + y[4] + 1) dy[6] <- 1.0 - y[6]*(y[1] + 1) return(list(dy)) } pars <- runif(11) yini <- runif(6) times <- seq(0, 10, .01) out <- ode(yini, times, myfn, pars) plot(out) On Thu, Mar 12, 2015 at 8:23 AM, Daniel Kaschek <
daniel.kaschek at physik.uni-freiburg.de> wrote:
Hi Austin, On Mi, 2015-03-11 at 10:03 -0600, Austin Mullings wrote:
I had one more question, which may be a novice question, but how do I
need
to create my dataset in a way that this function will run off of it? Specifically, I am trying to run it on some mock data (until I learn more about simulation), and do not know how R and this package expects my function or dataset column/variable names to be for it to run. Here is a picture of my mock data, if you wouldn't mind letting me know whether I have the variable names ordered incorrectly or need to rename them accordingly.
I think you cannot send pictures via the mailing list. Unfortunately, I didn't get your question. What do you mean by "data to run your simulation on"? Concerning the sorting of variables: In the example below, I initialized yini <- runif(6) resulting in a vector yini of length 6. The i'th element of yini is y[i] in myfn (at time point 0). This means that the i'th element is the initial value of the i'th state, which in turn will be the i'th column next to the time column of the ode() output. Cheers, Daniel
On Tue, Feb 17, 2015 at 2:04 AM, Daniel Kaschek < daniel.kaschek at physik.uni-freiburg.de> wrote:
Hi Austin,
one possibility to do this is the code below. In this example code, I
randomly initialize your parameters and the initial state. Instead of
using the indexes to access parameter values or states you can use the
names as well (see ?ode, first example). However, in my experience, the
function with() slows down your code considerably.
Best wishes,
Daniel
library(deSolve)
myfn <- function(t, y, p) {
dy <- numeric(6)
dy[1] <- p[1] - p[2]*y[4] - p[3]*y[1]
dy[2] <- y[5]*dy[1]*(1+y[6]) - p[5]*y[2] - (p[6]*y[3]*y[4]*y[1] -
p[7])
dy[3] <- p[8] - p[9]*y[2] dy[4] <- y[6]*dy[1] - p[10]*y[4] + p[11]*(p[6]*y[3]*y[4]*y[1] -
p[7]) +
p[4] dy[5] <- 1.0 - y[5]*(y[1] + y[4] + 1) dy[6] <- 1.0 - y[6]*(y[1] + 1) return(list(dy)) } pars <- runif(11) yini <- runif(6) times <- seq(0, 10, .01) out <- ode(yini, times, myfn, pars) plot(out) On Mo, 2015-02-16 at 13:15 -0700, Austin Mullings wrote:
I am trying to get this equation to work with deSolve, and can't
seem to
get it to work. Does someone know how one would write the function
for
this?
dY1(t)/dt = a - bY3(t) Y4(t) - cY1(t),
dY2(t)/dt = Y5(t) [dY1(t)/dt] [1 + Y6(t)] - eY2(t) - {f Y3(t) Y4(t)
Y1(t) -
g},
dY3(t)/dt = h - iY2(t),
dY4(t)/dt = Y6(t) [dY1(t)/dt] - jY4(t) + k {f Y3(t) Y4(t) Y1(t) - g}
+ d,
dY5(t)/dt = 1.0 - Y5(t) [Y1(t) + Y4(t) + 1],
dY6(t)/dt = 1.0 - Y6(t) [Y1(t) + 1].
[[alternative HTML version deleted]]
_______________________________________________ R-sig-dynamic-models mailing list R-sig-dynamic-models at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-dynamic-models
-- Daniel Kaschek Institute of Physics Freiburg University Room 210 Phone: +49 761 2038531
_______________________________________________ R-sig-dynamic-models mailing list R-sig-dynamic-models at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-dynamic-models
-- Daniel Kaschek Institute of Physics Freiburg University Room 210 Phone: +49 761 2038531
_______________________________________________ R-sig-dynamic-models mailing list R-sig-dynamic-models at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-dynamic-models
Austin F. Mullings Graduate Student, Research Assistant Department of Psychology, Clinical Psychology University of Colorado at Colorado Springs [[alternative HTML version deleted]]