Matriz de correlação entre vetores de diferentes tamanhos

Prezados Listeiros, Estou tentando implementar uma matriz de correlação para dados desbalanceados, isso é possível? Segue CRM abaixo da tentativa do que venho tentando fazer, alguém poderia iluminar a questão para mim? #Variáveis artificiais var1<-rnorm(200,5,0.25)## Tamanho do vetor: 200 valores var2<-1:500 ## Tamanho do vetor: 500 valores var3<-rnorm(100,5,0.25)## Tamanho do vetor: 100 valores var4<-500:1## Tamanho do vetor: 500 valores #Função by Walmes pn <- function(X){crossprod(!is.na(X))} cor.prob <- function(X){ pair.SampSize <- pn(X) above1 <- row(pair.SampSize) < col(pair.SampSize) pair.df <- pair.SampSize[above1] - 2 R <- cor(X, use="pair") above2 <- row(R) < col(R) r2 <- R[above2]^2 Fstat <- (r2 * pair.df)/(1 - r2) R[above2] <- 1 - pf(Fstat, 1, pair.df) R } correla <- round(cor.prob(var1,var2,var3,var4),4) Obrigado, -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================

Caros Listeiros, Eu consegui avançar um pouco na questão, mas eu estou com dificuldades em criar um objeto com todos os testes das matrizes de correlação, sendo que o output desejado é: s_var1 s_var2 s_var3 s_var4 s_var1 1 1.0000 0.7665 0.2913 0.2681 s_var2 1 -0.0301 1.0000 0.9630 0.8734 s_var3 1 0.1066 -0.0047 1.0000 0.6261 s_var4 1 0.1118 -0.0161 0.0493 1.0000 ... s_var1 99 1.0000 0.7665 0.2913 0.2681 s_var2 99 -0.0301 1.0000 0.9630 0.8734 s_var3 99 0.1066 -0.0047 1.0000 0.6261 s_var4 99 0.1118 -0.0161 0.0493 1.0000 Dessa maneira em um único objeto e que esse objeto não fosse um list. Alguém poderia me ajudar? Meu novo CRM é: ## Dados ----------------------------------------------------------------------- var1<-rnorm(200,5,0.25)## Tamanho do vetor: 200 valores var2<-1:500 ## Tamanho do vetor: 500 valores var3<-rnorm(100,5,0.25)## Tamanho do vetor: 100 valores var4<-500:1## Tamanho do vetor: 500 valores ### #Função by Walmes pn <- function(X){crossprod(!is.na(X))} cor.prob <- function(X){ pair.SampSize <- pn(X) above1 <- row(pair.SampSize) < col(pair.SampSize) pair.df <- pair.SampSize[above1] - 2 R <- cor(X, use="pair") above2 <- row(R) < col(R) r2 <- R[above2]^2 Fstat <- (r2 * pair.df)/(1 - r2) R[above2] <- 1 - pf(Fstat, 1, pair.df) R } # # Deixando os vetores com mesmo tamanho tam=100 #tamanho da amostra n_sim<-99#numero de simulações RES<-NULL for(i in length(n_sim)){ s_var1<-sample(var1,tam) s_var2<-sample(var2,tam) s_var3<-sample(var3,tam) s_var4<-sample(var4,tam) dados<-cbind(s_var1,s_var2,s_var3,s_var4) correla <- round(cor.prob(dados),4) res=cbind(n_sim[i],correla) RES=cbind(RES,res) } # Obrigado -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ====================================================================== Em 16/03/2016 14:58, ASANTOS escreveu:
correla <- round(cor.prob(var1,var2,var3,var4),4)
participantes (1)
-
ASANTOS