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

Éder Comunello comunello.eder em gmail.com
Segunda Março 21 10:21:22 BRT 2016


Alexandre, bom dia!

Se ainda lhe for útil, segue uma sugestão...

### <code r>
var1 <- rnorm(200,5,0.25)
var2 <- 1:500
var3 <- rnorm(100,5,0.25)
var4 <- 500:1

cor.prob <- function(X){
      pair.SampSize <- crossprod(!is.na(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
      }

tam   <- 100 # amostra
n_sim <-  99 # simulações

RES <- NULL
for(i in 1:n_sim){
     dados   <- sapply(c("var1", "var2", "var3", "var4"), function(x)
sample(get(x), 100))
     correla <- round(cor.prob(dados),4)
     res     <- cbind(i, correla)
     RES     <- rbind(RES, res)
}
#

RES[c(1:5,392:396),]
#       i    var1    var2    var3   var4
# var1  1  1.0000  0.8025  0.8451 0.9178
# var2  1 -0.0253  1.0000  0.6609 0.0106
# var3  1 -0.0198  0.0444  1.0000 0.4850
# var4  1 -0.0104 -0.2545 -0.0706 1.0000
# var1  2  1.0000  0.5200  0.1704 0.8461
# var4 98  0.1309  0.0332 -0.1361 1.0000
# var1 99  1.0000  0.1433  0.2047 0.3260
# var2 99 -0.1474  1.0000  0.5391 0.9524
# var3 99 -0.1279 -0.0621  1.0000 0.2885
# var4 99 -0.0992 -0.0060  0.1072 1.0000
### </code>



​
================================================
Éder Comunello
Agronomist (UEM), MSc in Environ. Sciences (UEM)
DSc in Agricultural Systems Engineering (USP/Esalq)
Brazilian Agricultural Research Corporation (Embrapa)
Dourados, MS, Brazil |<O>|
================================================
GEO, -22.2752, -54.8182, 408m
UTC-04:00 / DST: UTC-03:00
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160321/0c92223b/attachment.html>


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