[R] for loop problem

Uwe Ligges ligges at statistik.uni-dortmund.de
Sun Jan 21 15:10:22 CET 2007



aat wrote:
> Hello R users,
> 
> A beginners question which I could not find the answer to in earler posts.
> 
> My thought process:
> Here "z" is a 119 x 15 data matrix
> Step 1: start at column one, bind every column with column 1
> Step2: use the new matrix, "test", in the fitCopula package
> Step3: store each result in myfit, bind each result to "answer"
> Step4: return "answer"
> 
> 
> copula_est <- function(z)
> {
> 	for(i in 1:length(z[1,]))
> 	{
> 		my.cop <- normalCopula(param = 0.5, dim = 2)
> 		test <- cbind(z[,1],z[,i])
> 		myfit[i] <- fitCopula(test,my.cop, start=0.3)
> 	}
> 	answer <- cbind(myfit[i])
> 	return(answer)
> }


The example is not reproducible for us, since we do not have z.

I'd try to rewrite it as follows, without having tried anything:

my.cop <- normalCopula(param = 0.5, dim = 2)
answer <- apply(z[,-1], 2,
    function(x) fitCopula(cbind(z[,1], x), my.cop, start=0.3),
    my.cop = my.cop)


Uwe Ligges



> Errors received:
> Error: object "test" not found
> 
> Could my syntax be incorrect, or is it  a deeper faulty logic error.
> Thank you for your help, it is much appreciated.
> 
> aat 
>



More information about the R-help mailing list