[R] Creating an array from correlation matrices

Rui Barradas ruipbarradas at sapo.pt
Fri Aug 31 21:29:44 CEST 2012


Hello,

You create a 3d array X and then index it as if it were 1d.
Correction:

TS <- EuStockMarkets

[...etc...]

for (t in T[1:(length(T)-n)]){
  X[ , , t] <- cor(TS[t:(t+n), 1:ncol(TS)], use = "pairwise.complete.obs")
}
# Calculate correlation matrices


Also, 't' and 'T' are not good names, the first is R's matrix transpose 
function and the second one is another name for TRUE.

Hope this helps,

Rui Barradas

Em 31-08-2012 17:24, Max Frisch escreveu:
> Hello everyone,
>
> a hopefully easy to solve problem from an R novice...
>
> I try to calculate a number of correlation matrices that finally should be combined in a three-dimensional array.
> Here the my code with an R dataset as an example.
>
> -----------------------------------
>
> ## Creation an array of correlation matrices from a rolling window application
>
> TS <- EuStockMarkets
> # Load internal dataset
>
> n <- 30
> # Choose size of rolling time window
>
> T <- c(1:nrow(TS))
> # Define number of steps
>
> X <- array(data = NA, dim = c(ncol(TS), ncol(TS), nrow(TS)))
> # Create data array
>
> for (t in T[1:(length(T)-n)]){
>   X[t] = cor(TS[t:(t+n), 1:ncol(TS)], use = "pairwise.complete.obs")
> }
> # Calculate correlation matrices
>
> ---------------------------------
>
> Unfortunately, I only get a warning that the dimensions do not fit... Where is the mistake?
>
> THANKS A LOT!
>
> Nico
>
> ______________________________________________
> R-help at 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.




More information about the R-help mailing list