[R-br] Matriz de correlação entre vetores de diferentes tamanhos

ASANTOS alexandresantosbr em yahoo.com.br
Quinta Março 17 15:56:28 BRT 2016


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 em yahoo.com.br
         alexandre.santos em 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) 



Mais detalhes sobre a lista de discussão R-br