[R-br] Combinar vetores com tamanhos diferentes...

Benilton Carvalho beniltoncarvalho em gmail.com
Terça Maio 29 20:30:30 BRT 2012


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 <lucas em ourinhos.unesp.br>:
> 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 < paulojus em leg.ufpr.br
>> ></strong> escreveu:<br />unique no vetor<br /><br />On Tue, 29 May 2012,
>> andrebvs wrote:<br /><br />> Obrigado Paulo Justiniano pela resposta,
>> problema 1 resolvido. Agora, como acrescentar (nesses comandos apply) algum
>> comando que<br />> elimine valores repetidos em cada vetor combinado?<br
>> />> <br />> Att.<br />> André<br />> <br />>
>> _______________________________________________________________________________________________________________________________________<br
>> />> Em 27/05/2012 23:59, Paulo Justiniano < paulojus em leg.ufpr.br >
>> escreveu:<br />> ap0 <- combn(1:10, 4)<br />> ap1 <- apply(ap, 2,
>> function(x) paste("vet", x, sep=""))<br />> ap2 <- apply(ap1, 2,
>> function(x) unname(unlist(sapply(x, get))))<br />> <br />> ap2 contem uma
>> lista dos vetores<br />> <br />> <br />> On Sun, 27 May 2012, andrebvs
>> wrote:<br />> <br />> &gt
>>  ; Olá pessoal, gostaria de saber como combinar vetores de tamanhos diferentes,
>> por exemplo:<br />> ><br />> > vet1 <-
>> c(02,03,04,05,06,07,08,10,30,50,70,90)<br />> > vet2 <-
>> c(10,11,13,14,15,16,17,18,19,31,51,71,91)<br />> > vet3 <-
>> c(02,22,23,24,25,26,27,28,42,62,82)<br />> > vet4 <-
>> c(03,13,23,30,31,33,34,35,36,37,38,39,43,53,63,73,83,93)<br />> > vet5
>> <- c(04,14,24,34,42,43,44,45,46,47,48,54,64,74,84,94)<br />> > vet6
>> <- c(05,15,25,35,45,50,51,53,54,55,56,57,58,59,65,75,85,95)<br />> >
>> vet7 <- c(06,16,26,36,46,56,62,63,64,65,66,67,68,76,86,96)<br />> >
>> vet8 <- c(07,17, 27,37,47,57,67,70,71,73,74,75,76,77,78,79,87,97)<br />>
>> > vet9 <- c(08,18,28,38,48,58,68,78,82,83,84,85,86,87,88,98)<br />>
>> > vet10 <- c(19,39,59,79,90,91,93,94,95,96,97,98,99)<br />> ><br
>> />> > uma combinação seria, por exemplo: vet1,vet2,vet7,vet10, me
>> retornaria o seguinte:<br />> ><br />&
>>  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
>> />> > 6,86,96,<br />> > 19,39,59,79,9 0,91,93,94,95,96,97,98,99.<br
>> />> ><br />> > então, quero combinar vetores tomandos 4 a 4 nesses
>> 10 vetores, desde modo, terei um total de 210 vetores combinados<br />> >
>> ao todo.<br />> > Se não for pedir muito, gostaria tb que tais
>> resultados nao viessem com números repetidos.<br />> ><br />> >
>> desde já agradeço.<br />> ><br />> > Att.<br />> >
>> André<br />> ><br />> ><br />> <br />> <br />><br /><br
>> />
>> _______________________________________________
>> 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.
>
>
> --
> Lucas Venezian Povoa
> URI: http://www.lucasvenezian.orgfree.com
>
> _______________________________________________
> 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.


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