este comando nao faz o descrito... ele retorna apenas a primeira
ocorrencia (existe uma diferenca brutal entre | e ||)... vide

M = structure(list(X1 = c(17, 29, 31), X2 = c(9, 13, 64)), .Names =
c("X1", "X2"), row.names = c(NA, -3L), class = "data.frame")
M[which(M$X1 == 17 || M$X2 == 64),]
M[which(M$X1 == 17 | M$X2 == 64),]

e, nesse caso em particular, o which() nem e' necessario:

M[M$X1 == 17 | M$X2 == 64,]

ou, ainda mais generico:

subset(M, X1==17 | X2==64)

b

2012/5/29 Lucas Venezian Povoa <[email protected]>:
> Cara, acredito que a seguinte sentença resolva o seu problema:
>
> M[which(M$X1 == 17 || M$X2 == 64),]
>
> Isso caso queira que sejam retornadas as linhas que possuam X1 = 17 ou X2 = 
> 64.
>
> Espero que ajude...
>
> Abraços....
>
>
>> Estou tendo um probleminha na filtragem dos valores da coluna X2 do 
>> data.frame
>> abaixo, como faço para filtar apenas os valores iguais a 64 do 
>> data.frame?<br
>> /><br />Para o caso da coluna 1, estou consequindo filtrar com o seguinte
>> comando: M[which(M==17),] , para a coluna 2, ja tentei M[,which(M==64)] mas 
>> da
>> erro.<br /><br />M = data.frame(matrix(c(F1,F2),210))<br /><br /> X1 X2<br
>> />1   17  66<br />2   15  65<br />3   17  68<br />4   15  68<br
>> />5   16  68<br />6   15  64<br />7   18  67<br />8   15  66<br
>> />9   16  66<br /> .<br /> .<br /> .<br />210  18 64<br /><br />A saída 
>> tem
>> que ser em duas colunas, tipo:<br /> <br /> X1 X2<br /> 1   17  64<br />
>> 3   16  64<br /> 18  18  64<br /> 20  14  64<br /> 22  14  64<br />
>> 25  15  64<br /> 26  16  64<br /> 37  16  64<br /> 39  17  64<br /> 
>> .<br
>> /> .<br /> .<br /> 210  18 64<br /><br /><em>Att.<br />André</em><br /> <br
>> /><br />
>> <hr style="border-top: 1px solid #ccc;" />
>> Em 29/05/2012 16:07, <strong>Paulo Justiniano &lt; [email protected]
>> &gt;</strong> escreveu:<br />unique no vetor<br /><br />On Tue, 29 May 2012,
>> andrebvs wrote:<br /><br />&gt; Obrigado Paulo Justiniano pela resposta,
>> problema 1 resolvido. Agora, como acrescentar (nesses comandos apply) algum
>> comando que<br />&gt; elimine valores repetidos em cada vetor combinado?<br
>> />&gt; <br />&gt; Att.<br />&gt; André<br />&gt; <br />&gt;
>> _______________________________________________________________________________________________________________________________________<br
>> />&gt; Em 27/05/2012 23:59, Paulo Justiniano &lt; [email protected] &gt;
>> escreveu:<br />&gt; ap0 &lt;- combn(1:10, 4)<br />&gt; ap1 &lt;- apply(ap, 2,
>> function(x) paste("vet", x, sep=""))<br />&gt; ap2 &lt;- apply(ap1, 2,
>> function(x) unname(unlist(sapply(x, get))))<br />&gt; <br />&gt; ap2 contem 
>> uma
>> lista dos vetores<br />&gt; <br />&gt; <br />&gt; On Sun, 27 May 2012, 
>> andrebvs
>> wrote:<br />&gt; <br />&gt; &gt
>>  ; Olá pessoal, gostaria de saber como combinar vetores de tamanhos 
>> diferentes,
>> por exemplo:<br />&gt; &gt;<br />&gt; &gt; vet1 &lt;-
>> c(02,03,04,05,06,07,08,10,30,50,70,90)<br />&gt; &gt; vet2 &lt;-
>> c(10,11,13,14,15,16,17,18,19,31,51,71,91)<br />&gt; &gt; vet3 &lt;-
>> c(02,22,23,24,25,26,27,28,42,62,82)<br />&gt; &gt; vet4 &lt;-
>> c(03,13,23,30,31,33,34,35,36,37,38,39,43,53,63,73,83,93)<br />&gt; &gt; vet5
>> &lt;- c(04,14,24,34,42,43,44,45,46,47,48,54,64,74,84,94)<br />&gt; &gt; vet6
>> &lt;- c(05,15,25,35,45,50,51,53,54,55,56,57,58,59,65,75,85,95)<br />&gt; &gt;
>> vet7 &lt;- c(06,16,26,36,46,56,62,63,64,65,66,67,68,76,86,96)<br />&gt; &gt;
>> vet8 &lt;- c(07,17, 27,37,47,57,67,70,71,73,74,75,76,77,78,79,87,97)<br 
>> />&gt;
>> &gt; vet9 &lt;- c(08,18,28,38,48,58,68,78,82,83,84,85,86,87,88,98)<br />&gt;
>> &gt; vet10 &lt;- c(19,39,59,79,90,91,93,94,95,96,97,98,99)<br />&gt; &gt;<br
>> />&gt; &gt; uma combinação seria, por exemplo: vet1,vet2,vet7,vet10, me
>> retornaria o seguinte:<br />&gt; &gt;<br />&
>>  gt; &gt;
>> 02,03,04,05,06,07,08,10,30,50,70,90,10,11,13,14,15,16,17,18,19,31,51,71,91,06,16,26,36,46,56,62,63,64,65,66,67,68,7<br
>> />&gt; &gt; 6,86,96,<br />&gt; &gt; 19,39,59,79,9 
>> 0,91,93,94,95,96,97,98,99.<br
>> />&gt; &gt;<br />&gt; &gt; então, quero combinar vetores tomandos 4 a 4 
>> nesses
>> 10 vetores, desde modo, terei um total de 210 vetores combinados<br />&gt; 
>> &gt;
>> ao todo.<br />&gt; &gt; Se não for pedir muito, gostaria tb que tais
>> resultados nao viessem com números repetidos.<br />&gt; &gt;<br />&gt; &gt;
>> desde já agradeço.<br />&gt; &gt;<br />&gt; &gt; Att.<br />&gt; &gt;
>> André<br />&gt; &gt;<br />&gt; &gt;<br />&gt; <br />&gt; <br />&gt;<br /><br
>> />
>> _______________________________________________
>> R-br mailing list
>> [email protected]
>> 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.
>
>
> --
> Lucas Venezian Povoa
> URI: http://www.lucasvenezian.orgfree.com
>
> _______________________________________________
> R-br mailing list
> [email protected]
> 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.
_______________________________________________
R-br mailing list
[email protected]
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.

Responder a