On Nov 23, 2010, at 3:26 PM, Barroso, Judit wrote:
Dear all of you,
I would like to get some help from you.
Here I attach you a model, that I would like to be stochastic so I
would need each time the value of x changed, the values of
parameters (ss, emrg, gf, spp, sr) did too according to a normal
distribution, with mean its value and standard deviation given by
the parameter name preceded by SDV (In the case of parameter ss,
mean is 0.3 and Standad deviation 0.08). I explain myself, the model
take the mean value of these parameter (ss, emrg, gf, spp, sr) and I
would like for example, when x changed to the value 2, the
parameters values changed randomly according to their normal
distribution (given the mean and standard deviation values) and got
another mean value. And when x was 3 again, and every time until 20.
Does anyone, know how to do it?
You probably need to read:
?replicate # and/or ...
?rnorm
And rethink your question. (there is no random draw or sampling being
done in your code.)
ss <- 0.3
emrg <- 0.35
gf <- 0.22
spp <- 100
sr <- 0.52
SDVss <- 0.08
SDVemrg <- 0.05
SDVgf <- 0.04
SDVspp <- 22
SDVsr <- 0.1
data.frame
Please, please, don't call objects by that name. It's a function name
and a very commonly used one at that. And it's even doubly confusing
because data.frame is not a data.frame. Call it dmtx or dfm,
anything, just don't call it Sue.
dmtx<- matrix(0,20,7)
dmtx[,1] <- 1:20
dmtx[1, 2:7 ] <- c(50,18,3,300,NA,NA)
dmtx[-1, 2] <- dmtx[(x-1),2]-dmtx[(x-1),3] + dmtx[(x-1),5]*rnorm(1,sr,
SDVsr)*rnorm(1, ss, SDVss)
data.frame
data.frame[,1] <- 1:20
data.frame
for(x in 1:20){
if(x==1){
data.frame[1,2] <- 50
data.frame[1,3] <- 18
data.frame[1,4] <- 3
data.frame[1,5] <- 300
data.frame[1,6] <- NA
data.frame[1,7] <- NA
}else{
data.frame[x,2] <- (data.frame[(x-1),
2]-data.frame[(x-1),3]+data.frame[(x-1),5]*sr)*ss
data.frame[x,3] <- data.frame[x,2]*emrg
data.frame[x,4] <- data.frame[x,3]*gf
data.frame[x,5] <- data.frame[x,4]*spp
data.frame[x,6] <- data.frame[x,2]-
data.frame[(x-1),2]
There is also a diff function you might want to get familiar with.
data.frame[x,7] <- data.frame[x,2]/
data.frame[(x-1),2]
}
}
end
data.frame
Thank you very much in advanced,
Judit Barroso
[[alternative HTML version deleted]]
______________________________________________
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.
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.