Hola Manuel,
Puedes hacer el cambio de NA a 99 una vez obtengas la matriz utilizando
is.na() o modificando la funcion "convertir" como se muestra a
continuacion.
Jorge.-
# opcion 1
resultado <- convertir(x)
resutado[is.na(resultado)] <- 99
resultado
# opcion 2
convertir2 <- function(x){
n <- length(x)
if(x[n] == 99) res <- foo(x) # chequeando ultimo valor de x
else{
x[n+1] <- 99
res <- foo(x)
}
res[is.na(res)] <- 99 # cambie esto
res
}
convertir2(x)
convertir2(x[-length(x)])
2011/8/31 <>
>
>
> Muchas gracias Jorge. La función va bien, pero las columnas las
> completa con NAs y no con un dígito (99 o cualquier otro, pero dígito).
>
>
> Saludos,
>
> Manuel
>
> On Wed, 31 Aug 2011 12:00:11 +0200,
> r-help-es-request@r-project.org wrote:
>
> > Envíe los mensajes para la
> lista R-help-es a
> > r-help-es@r-project.org [3]
> >
> > Para subscribirse o
> anular su subscripción a través de la WEB
> >
> https://stat.ethz.ch/mailman/listinfo/r-help-es [4]
> >
> > O por correo
> electrónico, enviando un mensaje con el texto "help" en
> > el asunto
> (subject) o en el cuerpo a:
> > r-help-es-request@r-project.org [5]
> >
> >
> Puede contactar con el responsable de la lista escribiendo a:
> >
> r-help-es-owner@r-project.org [6]
> >
> > Si responde a algún contenido de
> este mensaje, por favor, edite la
> > linea del asunto (subject) para que
> el texto sea mas especifico que:
> > "Re: Contents of R-help-es
> digest...". Además, por favor, incluya en
> > la respuesta sólo aquellas
> partes del mensaje a las que está
> > respondiendo.
> >
> > Asuntos del
> día:
> >
> > 1. Manipulación de vectores (morales@us.es [7])
> > 2. Re:
> Manipulación de vectores (Jorge I Velez)
> >
> >
> ----------------------------------------------------------------------
> >
>
> > Message: 1
> > Date: Wed, 31 Aug 2011 06:45:24 +0200
> > From:
> morales@us.es [8]
> > To:
> > Subject: [R-es] Manipulación de vectores
> >
> Message-ID:
> > Content-Type: text/plain
> >
> > Hola, tengo un vector con
> mas de 20000 elementos que representan
> > secuencias de códigos
> (numÃ(c)ricos) de 40 sujetos.En el vector aparece el
> > valor 99 para
> indicar que empieza la secuencia de otro sujeto. Un
> > ejemplo de
> secuencia seria la siguiente:
> >
> > 7 2 8 2 99 8 2 8 5 2 8 2 2 99
> > 2 8
> 2 8 5 2 99
> >
> > La idea seria construir un data frame en el que cada
> >
> columna represente la secuencia de cada sujeto. QuedarÃa asi:
> >
> > 7 8
> 2
> >
> > 2 2 8
> >
> > 8 8 2
> >
> > 2 5 8
> >
> > 99 2 5
> >
> > 99 8 2
> >
> > 99
> 2 99
> >
> > 99 2 99
> >
> > Las
> > secuencias de los sujetos tienen tamaños
> distintos. Para igualar las
> > columnas habrÃa que añadir el valor 99
> (o cualquier otro distinto a los
> > códigos).
> >
> > Alguna sugerencia?
>
> >
> > Saludos,
> >
> > Manuel
> >
> > [[alternative HTML version deleted]]
> >
>
> > ------------------------------
> >
> > Message: 2
> > Date: Wed, 31 Aug
> 2011 02:53:13 -0400
> > From: Jorge I Velez
> > To: morales@us.es [12]
> >
> Cc: r-help-es@r-project.org [13]
> > Subject: Re: [R-es] Manipulación de
> vectores
> > Message-ID:
> >
> > Content-Type: text/plain
> >
> > Hola Manuel,
> >
> Podrias considerar la siguiente alternativa.
> > Un saludo,
> > Jorge
> >
> > #
> datos
> > x
> >
> >> Hola, tengo un vector con mas de 20000 elementos que
> representan secuencias de códigos (numéricos) de 40 sujetos.En el vector
> aparece el valor 99 para indicar que empieza la secuencia de otro
> sujeto. Un ejemplo de secuencia seria la siguiente: 7 2 8 2 99 8 2 8 5 2
> 8 2 2 99 2 8 2 8 5 2 99 La idea seria construir un data frame en el que
> cada columna represente la secuencia de cada sujeto. Quedaría asi: 7 8 2
> 2 2 8 8 8 2 2 5 8 99 2 5 99 8 2 99 2 99 99 2 99 Las secuencias de los
> sujetos tienen tamaños distintos. Para igualar las columnas habría que
> añadir el valor 99 (o cualquier otro distinto a los códigos). Alguna
> sugerencia? Saludos, Manuel [[alternative HTML version deleted]]
> _______________________________________________ R-help-es mailing list
> R-help-es@r-project.org [1]
> https://stat.ethz.ch/mailman/listinfo/r-help-es [2]
> >
> > [[alternative
> HTML version deleted]]
> >
> > ------------------------------
> >
> >
> _______________________________________________
> > R-help-es mailing
> list
> > R-help-es@r-project.org [15]
> >
> https://stat.ethz.ch/mailman/listinfo/r-help-es [16]
> >
> > Fin de Resumen
> de R-help-es, Vol 30, Envío 21
> >
> *********************************************
>
>
> Links:
> ------
> [1]
> mailto:R-help-es@r-project.org
> [2]
> https://stat.ethz.ch/mailman/listinfo/r-help-es
> [3]
> mailto:r-help-es@r-project.org
> [4]
> https://stat.ethz.ch/mailman/listinfo/r-help-es
> [5]
> mailto:r-help-es-request@r-project.org
> [6]
> mailto:r-help-es-owner@r-project.org
> [7] mailto:morales@us.es
> [8]
> mailto:morales@us.es
> [9] mailto:r-help-es@r-project.org
> [10]
> mailto:3dd28c7764f031180dd591fb41b427cb@us.es
> [11]
> mailto:jorgeivanvelez@gmail.com
> [12] mailto:morales@us.es
> [13]
> mailto:r-help-es@r-project.org
> [14]
> mailto:CAKL8G3H-DKFOvSoJJ_ZgRUhdqV03if5hjtfxyaHoodMLeH_CRw@mail.gmail.com
> [15]
> mailto:R-help-es@r-project.org
> [16]
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
[[alternative HTML version deleted]]