
#Copiando seu exemplo, eu obtive:
p=c(2,3,4,5,6,7,8,9) r=c(3,4,5)
p==r [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE which(p==r) integer(0)
r==p [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE which(r==p) integer(0)
#Se entendi direito vc quer saber onde p ocorre em r então usando esse teste de logica...
p%in%r [1] FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
#nas posições 2 3 e 4
which(p%in%r) [1] 2 3 4
#Segue alguns exemplinhos que ajudem a ver a diferença entre == e %in% caso não conheça
a<-c(1,2,3,4) b<-c(1,2,0,3)
#assim vc leva em consideração o que ta escrito e a posição
a==b [1] TRUE TRUE FALSE FALSE which(a==b) [1] 1 2
#assim o que ta escrito
a%in%b [1] TRUE TRUE TRUE FALSE which(a%in%b) [1] 1 2 3
Em 10 de maio de 2012 21:34, Tito Conte <tito.conte@gmail.com> escreveu:
tenho dois vetores:
p=c(2,3,4,5,6,7,8,9) r=c(3,4,5)
quando uso
which(p==r) ou which(r==p)
ele me retorna as posições onde r ocorre em p como fazer para saber onde p ocorre em r?
obrigado (já dei um google nisso e não encontrei )
Tito Conte
_______________________________________________ R-br mailing list R-br@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.
-- Grato Augusto C. A. Ribas Site Pessoal: http://augustoribas.heliohost.org Lattes: http://lattes.cnpq.br/7355685961127056