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
>