I would read the datasets into a list first, something like this which will 
make a list of dataframes:
filenames <- dir() # where only filenames you want to read in are in this 
directory 
dataframelist <- lapply(filenames, read.csv, header = TRUE, sep = ",")




You should be able to put the whole procedure, after reading in dataframes, 
into one lapply perhaps, e.g., 

lapply(dataframelist, yourfunction)

where dataframelist is a list of dataframes, and yourfunction is a function 
that does all the procedures for one dataset. The function 'yourfunction' will 
be applied to each dataset in the list separately, then the results output into 
a list. 

Then, if the results from each dataset will have the same dimensions, you can 
do something like ldply using package plyr 
ldply(output, 'identity') # where 'output' is the output list of results from 
the lapply call above
This will give you a data frame of all the results. 



Scott Chamberlain
Rice University, EEB Dept.
On Monday, May 23, 2011 at 4:32 PM, Bazman76 wrote:
Hi there,
> 
> I ran the following code:
> 
> vols=read.csv(file="C:/Documents and Settings/Hugh/My Documents/PhD/Swaption
> vols.csv" 
> , header=TRUE, sep=",")
> X<-ts(vols[,2])
> #X
> 
> 
> dcOU<-function(x,t,x0,theta,log=FALSE){
> Ex<-theta[1]/theta[2]+(x0-theta[1]/theta[2])*exp(-theta[2]*t)
> Vx<-theta[3]^2*(1-exp(-2*theta[2]*t))/(2*theta[2])
> dnorm(x,mean=Ex,sd=sqrt(Vx),log=log)
> }
> OU.lik<-function(theta1,theta2,theta3){
> n<-length(X)
> dt<-deltat(X)
> -sum(dcOU(X[2:n],dt,X[1:(n-1)],c(theta1,theta2,theta3),log=TRUE))
> }
> 
> require(stats4)
> require(sde)
> set.seed(1)
> #X<-sde.sim(model="OU",theta=c(3,1,2),N=10000,delta=1)
> mle(OU.lik,start=list(theta1=1,theta2=1,theta3=1),
> method="L-BFGS-B",lower=c(-Inf,-Inf,-Inf),upper=c(Inf,Inf,Inf))->fit
> summary(fit)
> 
> #ex3.01 R
> prof<-profile(fit)
> par(mfrow=c(1,3))
> plot(prof)
> par(mfrow=c(1,1))
> vcov(fit)
> 
> I run the code above and I get:
> 
> > summary(fit)
> Maximum likelihood estimation
> 
> Call:
> mle(minuslogl = OU.lik, start = list(theta1 = 1, theta2 = 1, 
>  theta3 = 1), method = "L-BFGS-B", lower = c(-Inf, -Inf, -Inf), 
>  upper = c(Inf, Inf, Inf))
> 
> Coefficients:
>  Estimate Std. Error
> theta1 0.03595581 0.013929892
> theta2 4.30910365 1.663781710
> theta3 0.02120220 0.004067477
> 
> -2 log L: -5136.327 
> 
> I need to run the same analysis for 40 different time series.
> 
> I want to be able to collate all the estimates of theta and the associated
> stadard errors and then transfer them into excel?
> 
> Can someone please point me to some R code that will allow me to do this?
> 
> Thanks
> 
> 
> 
> --
> View this message in context: 
> http://r.789695.n4.nabble.com/Reading-Data-from-mle-into-excel-tp3545569p3545569.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.
> 

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

Reply via email to