[R-br] Exibição de matriz de correlação dada uma condição
ASANTOS
alexandresantosbr em yahoo.com.br
Domingo Agosto 16 23:50:11 BRT 2015
Prezados listeiros,
No meu CRM abaixo tenho uma matriz de correlação com o valor de p
na diagonal superior o e valor r de Pearson da diagonal inferior, no
entanto eu gostaria de exibir uma matriz de correlação apenas com os p
valores maiores ou igual 0.05 e r maior ou igual a 0.08 isso é possível?
Segue CRM:
require(Hmisc)## Pacote
#Variáveis artificiais
var1<-sort(rnorm(500,1), decreasing = TRUE)
var2<-rnorm(500,10)
var3<-sort(rnorm(500,22))
var4<-sort(rnorm(500,10))
var5<-sort(rnorm(500,0.5), decreasing = TRUE)
var6<-sort(rnorm(500,25), decreasing = TRUE)
var7<-rnorm(500,10)
dados<-cbind(var1,var2,var3,var4,var5,var6,var7)
#Função que dispõem p valor na diagonal superior e r valor na inferior
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
}
#Resultado da matriz
cor.prob(dados)
#
--
======================================================================
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
======================================================================
Mais detalhes sobre a lista de discussão R-br