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

ASANTOS alexandresantosbr em yahoo.com.br
Segunda Setembro 14 21:22:05 BRT 2015


> Agora sim Hélio,
>
>      Agora com correlação direta e inversa e com cores, segue CRM:
>
> #Pacote
> require(gplots)
>
> #Variáveis artificiais
> dados<-runif(1000)
> dados<-(dados*100)+c(1:500, 500:1)
> dados<-matrix(dados,nrow=100,ncol=10)
> dados<-as.data.frame(dados)
> names(dados)<-c("var1", 
> "var2","var3","var4","var5","var6","var7","var8","var9","var10")
>
>
> #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(dados),4)
>
>
> #Função by Helio
>
> sig<-0.05## Significância pos
>
> rP<-0.50 ## Correlação positiva
> rN<--0.50## Correlação negativa
>
> cor.probC <- function(x){
>
>     results <- x
>     ifelse(row(x)< col(x),ifelse(x<=sig,NA,x),ifelse(x<=rP&x>=rN,NA,x))
> }
>
> cr <- cor.probC(correla)
> colnames(cr)  <- names(dados)
> rownames(cr) <- names(dados)
> cr
> #
>
> #Plota a matriz
> paleta<- colorRampPalette(c(rgb(0.96,0.96,1), rgb(0.1,0.1,0.9)), space 
> = "rgb")
> xval <- formatC(cr, format="f", digits=2)
> x_hm <- heatmap.2(cr, Rowv=FALSE, Colv=FALSE, 
> dendrogram="none",col=paleta,
> trace="none", cellnote=xval, notecol="black", notecex=0.8)
> #
>
> -- 
> ======================================================================
> 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                    
> ======================================================================
>
>
>
> Em 02/09/2015 22:29, Hélio Gallo Rocha escreveu:
>>
>> Alexandre. Estou num celular,  mas acho que incluindo o caracter & no 
>> campo relativo a correlação, vai funcionar
>>
>> Em 02/09/2015 22:36, "ASANTOS [via R-br]" 
>> <ml-node+s2285057n4665035h53 em n4.nabble.com 
>> <mailto:ml-node%2Bs2285057n4665035h53 em n4.nabble.com>> escreveu:
>>
>>     Boa noite Helio,
>>
>>             O problema é que a função some também com variáveis
>>     significantes mas inversamente correlacionadas, se altero
>>     ifelse(x>=0.08,NA,x), tenho o problema inverso. Veja as
>>     alterações que
>>     fiz, também criei uma estrutura de correlação um pouco melhor nos
>>     dados
>>     artificiais. Outro problema para colorir estão sendo os NA's, mas
>>     acho
>>     que estamos chegando lá, segue o CRM:
>>
>>     #Variáveis artificiais
>>     dados<-runif(1000)
>>     dados<-(dados*100)+c(1:500, 500:1)
>>     dados<-matrix(dados,nrow=100,ncol=10)
>>     dados<-as.data.frame(dados)
>>     names(dados)<-c("var1",
>>     "var2","var3","var4","var5","var6","var7","var8","var9","var10")
>>
>>
>>     #Função by Walmes
>>     pn <- function(X){crossprod(!is.na <http://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(dados),4)
>>
>>
>>     #Função by Helio
>>
>>     sig<-0.05## Significância
>>     r<-0.30 ## Correlação
>>
>>     cor.probC <- function(x){
>>
>>          results <- x
>>          ifelse(row(x)< col(x),ifelse(x<=sig,NA,x),ifelse(x<=r,NA,x))
>>     }
>>
>>     cr <- cor.probC(correla)
>>     colnames(cr)  <- names(dados)
>>     rownames(cr) <- names(dados)
>>     cr
>>     #
>>
>>     Abraço,
>>
>>     -- 
>>     ======================================================================
>>
>>     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 <tel:%28%2B55%29%2065%208132-8112> (TIM)
>>     (+55) 65 9686-6970 <tel:%28%2B55%29%2065%209686-6970> (VIVO)
>>     e-mails:[hidden email]
>>     <http:///user/SendEmail.jtp?type=node&node=4665035&i=0>
>>     [hidden email]
>>     <http:///user/SendEmail.jtp?type=node&node=4665035&i=1>
>>     Lattes: http://lattes.cnpq.br/1360403201088680
>>     ======================================================================
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>     Em 02/09/2015 12:09, Hélio Gallo Rocha escreveu:
>>     > var1<-sort(rnorm(30,1), decreasing = TRUE)
>>     > var2<-rnorm(30,10)
>>     > var3<-sort(rnorm(30,22))
>>     > var4<-sort(rnorm(30,10))
>>     > var5<-sort(rnorm(30,0.5), decreasing = TRUE)
>>     > var6<-sort(rnorm(30,25), decreasing = TRUE)
>>     > var7<-rnorm(30,10)
>>     > dados<-cbind(var1,var2,var3,var4,var5,var6,var7)
>>
>>     _______________________________________________
>>     R-br mailing list
>>     [hidden email]
>>     <http:///user/SendEmail.jtp?type=node&node=4665035&i=2>
>>     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.
>>
>>
>>     ------------------------------------------------------------------------
>>     If you reply to this email, your message will be added to the
>>     discussion below:
>>     http://r-br.2285057.n4.nabble.com/R-br-Exibicao-de-matriz-de-correlacao-dada-uma-condicao-tp4664911p4665035.html
>>
>>     To unsubscribe from R-br, click here
>>     <http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=aGVsaW9nYWxsb3JvY2hhQGdtYWlsLmNvbXwzMzU3OTgyfC0xMzQ3NTkwMDY4>.
>>     NAML
>>     <http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>>
>>
>>
>> _______________________________________________
>> 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.
>

-- 
======================================================================
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                    
======================================================================



-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150914/391ad595/attachment.html>


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