[R-es] Selección de observaciones

Jorge Virto jorge.virto en ehu.es
Vie Oct 8 15:08:38 CEST 2010


Pero de esta forma sólo saca la primera coincidencia. Si hay dos filas que 
cumplen los criterios ignora la segunda:

> aa <- matrix(11:19,3,3)
> aa[3,1] <- 12
> aa[3,2] <- 15
> 
> k <- c(12,15)
> cols <- 1:2
> aa[which(match(aa[,cols],k,nomatch=0)!=0)[1],]
[1] 12 15 18
> #[1] 12 15 18
> aa
     [,1] [,2] [,3]
[1,]   11   14   17
[2,]   12   15   18
[3,]   12   15   19

Jorge

__________________________________________________________________________________________

El Friday 08 October 2010 14:59:45 Rubén Roa escribió:
> un poco 'convoluted' pero parece que hace lo que quieres en una linea
>
> aa <- matrix(11:19,3,3)
> k <- c(12,15)
> cols <- 1:2
> aa[which(match(aa[,cols],k,nomatch=0)!=0)[1],]
> #[1] 12 15 18
>
> HTH
>
> R.
>
> ___________________________________________________________________________
>_________
>
> Dr. Rubén Roa-Ureta
> AZTI - Tecnalia / Marine Research Unit
> Txatxarramendi Ugartea z/g
> 48395 Sukarrieta (Bizkaia)
> SPAIN
>
> > -----Mensaje original-----
> > De: r-help-es-bounces en r-project.org
> > [mailto:r-help-es-bounces en r-project.org] En nombre de Ignacio
> > Ramos Alvarez
> > Enviado el: viernes, 08 de octubre de 2010 12:00
> > Para: r-help-es en r-project.org
> > Asunto: [R-es] Selección de observaciones
> >
> > Hola a todos.
> > Estoy atascado en un sitio que no me he encontrado antes,
> > debe ser fácil y rápido, a ver si alguien me puede ayudar.
> >
> > Puesto fácil, tengo:
> > > aa <- matrix(11:19,3,3)
> > > aa
> >
> >      [,1] [,2] [,3]
> > [1,]   11   14   17
> > [2,]   12   15   18
> > [3,]   13   16   19
> >
> > Quiero la fila cuyo primer elemento es 12 y el segundo 15.
> >
> > > aa[aa[,1:2] == (c(12,15)),]
> >
> > Error: (subscript) logical subscript too long
> >
> > ¿Entonces?
> >
> > > aa[aa[,1:2] == t(c(12,15)),]
> >
> > Error in aa[, 1:2] == t(c(12, 15)) : non-conformable arrays
> >
> > Puedo hacer, claro,
> >
> > > aa[aa[,1]==12 & aa[,2]==15,]
> >
> > [1] 12 15 18
> >
> > Pero necesito algo más "elegante" ya que la selección es
> > sobre bastantes más columnas.
> >
> > Gracias de antemano y un saludo.
> >
> >
> > --
> > Ignacio Ramos Álvarez
> > i.ramos.alvarez en gmail.com
> >
> > 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es