#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