# [R] Attempting to get a STELLA model into R

Thomas Petzoldt thpe at simecol.de
Mon Dec 1 08:55:16 CET 2008

```Gibson, Tyler F wrote:
> To whomever may be of help,
>
> I am a student in a graduate modeling class at the University of
> North Carolina at Wilmington. I am trying to get a STELLA model
> converted into R. I am in the process of trying to 're-write' the
> script into R, but I seem to be missing pieces (i.e. parm values)
> that are keeping me from being able to replicate this model into R.
> Does anyone have an idea of a possible solution to my problem? Are
> there conversion programs or packages available that can convert
> STELLA models into R format?

Hi Gibson,

I'm working with dynamic systems in R for several years but I don't know

The good news: AFAIK from old times, STELLA has also an equation view,
so it should be easy to extract the equations from there. As I remember
from my scripts, Stella used the following notation:

X(t) = X(t-dt) + mu * dt
INIT X = 1
INFLOWS: mu = X * k
k = 0.1

so you have to rewrite them as differential equations:

mu = X * k
dX/dt = mu

and very similar in R:

mu <- X * k
dX <- mu

Depending on your implementation, parameters may be either constants
(circle symbol) like the "k" above or hard-coded (and therefore
"hidden"). How large is your model?

> Thank you very much for you time, and I hope to hear back from you
> soon.
>
> -Tyler Gibson

Hope it helps

Thomas P.

## Here is an example implementation using the simecol-package.
## It is also possible in the "plain style" according to the
## examples given in package deSolve.

library(simecol)

growth <- new("odeModel",
main = function(t, init, parms) {
with(as.list(c(init, parms)), {
mu <- X * k
dX <- mu
list(c(dX))
})
},
init = c(X = 1),
parms = c(k = 0.1),
times = seq(0, 10, 0.1),
solver = "lsoda"
)

growth <- sim(growth)
plot(growth)
View(out(growth))

```