[R-br] Exibição de matriz de correlação dada uma condição

Cesar Rabak cesar.rabak em gmail.com
Quarta Agosto 19 18:22:17 BRT 2015


Alexandre,

Salvo se eu me perdi na leitura do seu texto e na sua função, basta você
decidir o quê você vai colocar nas células da matriz quando os valores não
estiverem como você deseja e usar um teste if com cláusula else nas
atribuições, ou uma construção similar à que você já faz para determinar se
vai escrever na diagonal superior ou inferior com seus vetores above1 e
above2.

HTH

2015-08-16 23:50 GMT-03:00 ASANTOS <alexandresantosbr em yahoo.com.br>:

> 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
> ======================================================================
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150819/17747594/attachment.html>


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