[R-br] Extrair células de uma matrix

Daniel C Bezerra danielcbezerra em gmail.com
Domingo Julho 10 13:51:37 BRT 2011


Se em cada coluna sempre existir um valor "0" e outro "1" a solução abaixo
vai dar certo. Caso contrário não deve funcionar. Avise que podermos pensar
em outra coisa.

(B<-ifelse(A==0|A==1,NA,A))
     [,1] [,2] [,3]
[1,]   NA  0.8  0.8
[2,]  0.5  0.5   NA
[3,]  0.8   NA  0.7
[4,]  0.9   NA  0.3
[5,]   NA  0.4   NA

(C<-matrix(as.vector(B)[is.na(as.vector(B))==F],ncol=3))
     [,1] [,2] [,3]
[1,]  0.5  0.8  0.8
[2,]  0.8  0.5  0.7
[3,]  0.9  0.4  0.3

Talvez algum outro colega tenha uma solução mais elegante.

Abs,

D
2011/7/10 Diego Pujoni <diegopujoni em gmail.com>

> Olá Pessoal,
>
> Tenho uma matriz onde cada coluna contém valores de probabilidade
> variando de 0 a 1. Como posso excluir os valores 0's e 1's de cada
> coluna, ficando apenas com as probabilidades intermediárias? Toda
> coluna possui apenas um valor 0 e apenas um valor 1, mas eles estão em
> linhas diferentes em cada coluna. Fiz um exemplo abaixo
>
> > A = matrix (c(1,.5,.8,.9,0.,.8,.5,0,1,.4,.8,0,.7,.3,1),5,3)
> > A
>     [,1] [,2] [,3]
> [1,]  1.0  0.8  0.8
> [2,]  0.5  0.5  0.0
> [3,]  0.8  0.0  0.7
> [4,]  0.9  1.0  0.3
> [5,]  0.0  0.4  1.0
>
> Quero obter essa matriz
>
> > A
>     [,1] [,2] [,3]
> [1,]  0.5  0.8  0.8
> [2,]  0.8  0.5  0.7
> [3,]  0.9  0.4  0.3
>
> Obrigado
>
>                                                            Diego PJ
> _______________________________________________
> 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/20110710/8a2c6830/attachment.html>


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