On Feb 19, 2011, at 10:35 AM, garciap wrote:


Hi to all the people (again),

I'm doing some simulations with the memisc package of an own function, but
I've the problem that I didn't know how to read the result of such
simulations. My function is:

Torre<-function(a1,N1,a2,N2)
+ {Etorre<-(a1*N1)/(1+a1*N1)
+ Efuera<-(a2*N2)/(1+a2*N2)
+ if(Etorre>Efuera)Subir=TRUE
+ if (Etorre<Efuera)Subir=FALSE
+ result<-list(Subir)
+ return(result)
+ }

Torre<- Simulate (Torre (a1 ,N1 ,a2 ,N2 ),expand .grid (a1 = 3 ,N1 = 0.5 ,a2 = c (0.01,0.02,0.05,0.1 ),N2=0.1),nsim=1000,seed=10000,trace=50,keep.data=TRUE)


?Simulate

Try something like this, since I thought your example was far from "minimal". After reading that the value was a dataframe, I just used standard indexing to access individual rows. I used instead the first example from the help page:
require(memisc)
Normal.example <- function(mean=0,sd=1,n=10){
 x <- rnorm(n=n,mean=mean,sd=sd)
 c( Mean=mean(x), Median=median(x), Var=var(x) ) }
Normal.simres <- Simulate(
 Normal.example(mean,sd,n),
 expand.grid( mean=0, sd=c(1,10), n=c(10,100) ), nsim=200, trace=50)
> Normal.simres[1, ]
  mean sd  n       Mean     Median      Var
1    0  1 10 0.01784074 -0.3662563 1.381853
> Normal.simres[200, ]
    mean sd  n      Mean    Median      Var
200    0  1 10 0.4004172 0.3280587 1.207104

That object does pose some surprises:
> str(Normal.simres[, 1]) # regular extraction doesn't return what I expect
'data.frame':   800 obs. of  6 variables:
 $ mean  : num  0 0 0 0 0 0 0 0 0 0 ...
 $ sd    : num  1 1 1 1 1 1 1 1 1 1 ...
 $ n     : num  10 10 10 10 10 10 10 10 10 10 ...
 $ Mean  : num  0.0178 -0.0803 0.4951 0.2081 -0.3496 ...
 $ Median: num  -0.36626 -0.29166 0.27018 -0.00887 -0.5638 ...
 $ Var   : num  1.382 0.798 1.18 0.48 0.571 ...
> is.data.frame(Normal.simres)
[1] FALSE
> is.data.frame(Normal.simres[1])
[1] TRUE
> str(Normal.simres[, 1][2])
'data.frame':   800 obs. of  1 variable:
 $ sd: num  1 1 1 1 1 1 1 1 1 1 ...
> str(Normal.simres[, 1]["Mean"]) # but it is possible to extract the "good stuff"
'data.frame':   800 obs. of  1 variable:
 $ Mean: num  0.0178 -0.0803 0.4951 0.2081 -0.3496 ...

So it appears to be something not quite a dataframe.

> quantile(Normal.simres[]$Mean , c(.25,.5,.75))  # works
        25%         50%         75%
-0.22652591  0.02842814  0.42513166

> str(Normal.simres$Mean ) # doesn't work
 NULL

---------------------------------------------------
 a1  N1   a2  N2
1  3 0.5 0.01 0.1
Replication  50
Replication  100
Replication  150
Replication  200
Replication  250
Replication  300
Replication  350
Replication  400
Replication  450
Replication  500
Replication  550
Replication  600
Replication  650
Replication  700
Replication  750
Replication  800
Replication  850
Replication  900
Replication  950
Replication  1000

---------------------------------------------------
 a1  N1   a2  N2
2  3 0.5 0.02 0.1
Replication  50
Replication  100
Replication  150
Replication  200
Replication  250
Replication  300
Replication  350
Replication  400
Replication  450
Replication  500
Replication  550
Replication  600
Replication  650
Replication  700
Replication  750
Replication  800
Replication  850
Replication  900
Replication  950
Replication  1000

---------------------------------------------------
 a1  N1   a2  N2
3  3 0.5 0.05 0.1
Replication  50
Replication  100
Replication  150
Replication  200
Replication  250
Replication  300
Replication  350
Replication  400
Replication  450
Replication  500
Replication  550
Replication  600
Replication  650
Replication  700
Replication  750
Replication  800
Replication  850
Replication  900
Replication  950
Replication  1000

---------------------------------------------------
 a1  N1  a2  N2
4  3 0.5 0.1 0.1
Replication  50
Replication  100
Replication  150
Replication  200
Replication  250
Replication  300
Replication  350
Replication  400
Replication  450
Replication  500
Replication  550
Replication  600
Replication  650
Replication  700
Replication  750
Replication  800
Replication  850
Replication  900
Replication  950
Replication  1000
print(Torre)
A 'default_bucket' object with 5 variables and 4000 observations

When I try print the results I obtain this, but how can I read it? It will seem stupid to people, but I can't! even though function summary(Torre):

summary(Torre)
Error in object[[i]] : wrong arguments for subsetting an environment



Best regards (again) and many thanks for your help

Pablo
--
View this message in context: 
http://r.789695.n4.nabble.com/reading-simulations-tp3314281p3314281.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.

Reply via email to