Buenos días Fernando,


Si lo tienes en forma de matrix puedes utilizar melt() del paquete reshape.
El objeto que generarás tendrá tres columnas, la primera con la posición en
las filas de la matriz original, la segunda con la posición en las columnas
de la matriz original, y la tercera con el valor. La tercera columna se
llamará value, y si la aislas en un objeto ya tienes lo que necesitas
(creo):


Recogiendo tu ejemplo de datos:

y=matrix(c(rep("h",10),rep("m",10),rep("m",10),rep("h",10),rep("m",10),rep("h",10),rep("m",10),rep("m",10),rep("h",10)),10,9)

library(reshape)

obj <- melt(y) #para tener toda la información
#o bien
obj <- melt(y)$value #para quedarte solamente con los valores en un vector


Espero que te sirva.

Un saludo,

Manel Sánchez.


Pido disculpas a la lista por no proporcionar mayores informaciones.
> En realidad es arreglar los datos que tengo de forma diferente para
> poder estimar cosas a lo largo del tiempo (curva de crecimiento o curvas
> de lactación por ejemplo). Supongan lo siguiente:
>
> # una matriz o data.frame
>
> y=matrix(c(rep("h",10),rep("m",10),rep("m",10),rep("h",10),rep("m",10),rep("h",10),rep("m",10),rep("m",10),rep("h",10)),10,9)
>
> x=as.data.frame(matrix(c(rep("h",10),rep("m",10),rep("m",10),rep("h",10),rep("m",10),rep("h",10),rep("m",10),rep("m",10),rep("h",10)),10,9))
>
> donde cada columna corresponde a un misma animal, por lo que los
> necesito repetidos (las ID serán repetidas tb) pero todo en una sola.
>
> O sea que de eso tengo que llegar a esto:
>
>
> obj=c(rep("h",10),rep("m",10),rep("m",10),rep("h",10),rep("m",10),rep("h",10),rep("m",10),rep("m",10),rep("h",10))
> c
>
> Estuve probando con stack() pero logre en unos conjuntos de datos y en
> otros no (todavía estoy buscando el porque de los errores). Pero debe
> ser por ese camino.
>
>
> Saludos y espero haberme explicado un poco mejor.
>
> Fernando Macedo
>
>
-- 
Manel.

<http://ubuntucounter.geekosophical.net>

	[[alternative HTML version deleted]]

