[R-es] Fwd: problema en while y en extraer valores de un vector

daniel daniel319 en gmail.com
Mar Sep 15 19:11:22 CEST 2015


Albert,

¿Es esto lo que preguntas?

i=1
a[i:i+4]
[1] 7
a[i:(i+4)]
[1]  8 10  4  1  7

Mas en detalle:

i:i+4
[1] 5
i:(i+4)
[1] 1 2 3 4 5


Espero haberte interpretado.

Daniel Merino


El 15 de septiembre de 2015, 12:42, Albert Montolio <
albert.montolio en gmail.com> escribió:

> Hola chicos,
>
> muchas gracias, funcionan vuestros códigos, pero no entiendo porqué el mío
> no funciona, y me gustaría aprender R bien.
>
> Quiero sacar números de 5 en 5, desplazándome una posición cada vez para la
> derecha:
>
>
> a <- c(8,10,4,1,7,2,4,6,3,8)
> b <- rep(0,5)
> i=1
> while (i<=6) {
>
>         b <- a[i:i+4]
>         print(b)
>         i=i+1
>
> }
>
> quiero que en la primera iteración me saque en pantalla los valores
> 8,10,4,1,7 y me saca el 7. No entiendo el porqué. Para i=1, b<-a[1:5] es
> decir, al vector b le mete los números que estén entre las posiciones 1 y 5
> incluidas, es decir, el 8, 10,4,1 y 7. Pues no me saca estos números, si no
> solamente el 7, es decir, la posición 5. En la siguiente iteración, para
> i=2, más de lo mismo, en vez de sacarme los números comprendidos entre 2 y
> 6, me saca solamente el de la posición 6.
>
> Por qué? no veo el error.
>
> Muchas gracias
>
> El 15 de septiembre de 2015, 16:45, Salvador Castillo Raya <
> casraysa en hotmail.com> escribió:
>
> >
> > Perdonad por el formato del correo anterior.
> >
> > Menos elegante que el codigo de Oliver, pero en la linea que estabas
> siguiendo:
> >
> >
> > a<-c(8,10,4,1,7,2,4,6,3,8)
> >
> > b<-rep(0,5)
> >
> > i=6
> >
> > while(i>=1){
> >
> > j=i+4
> >
> > b<-a[i:j]
> >
> > print(b)
> >
> > i=i-1
> >
> > }
> >
> > Saludos, Salva.
> >
> > > Date: Tue, 15 Sep 2015 15:59:59 +0200
> > > From: onunez en unex.es
> > > To: albert.montolio en gmail.com
> > > CC: R-help-es en r-project.org
> > > Subject: Re: [R-es] Fwd: problema en while y en extraer valores de un
> vector
> > >
> > > > a <- c(8,10,4,1,7,2,4,6,3,8)
> > > > n=length(a)
> > > > i=0
> > > > while(n>=i+5) {print(tail(a[1:(n-i)],5));i=i+1}
> > > [1] 2 4 6 3 8
> > > [1] 7 2 4 6 3
> > > [1] 1 7 2 4 6
> > > [1] 4 1 7 2 4
> > > [1] 10  4  1  7  2
> > > [1]  8 10  4  1  7
> > > >
> > >
> > > Un saludo. Olivier
> > >
> > > ----- Mensaje original -----
> > > De: "Albert" <albert.montolio en gmail.com>
> > > Para: R-help-es en r-project.org
> > > Enviados: Martes, 15 de Septiembre 2015 15:35:27
> > > Asunto: [R-es] Fwd: problema en while y en extraer valores de un vector
> > >
> > >
> > >
> > >
> > > >
> > > >
> > > >>
> > > >> Hola a todos,
> > > >>
> > > >> es la primera pregunta que hago a esta lista, no se si estoy en el
> sitio correcto.
> > > >>
> > > >> Tengo el siguiente vector:
> > > >>
> > > >> a <- c(8,10,4,1,7,2,4,6,3,8)
> > > >>
> > > >> y quiero conseguir en pantalla  5 valores, empezando por el final,
> y recorriendo el vector de derecha i izquierda cada vez, es decir, el
> resultado tiene que ser:
> > > >>
> > > >> 2,4,6,3,8
> > > >> 7,2,4,6,3
> > > >> 1,7,2,4,6
> > > >> 4,1,7,2,4
> > > >> 10,4,1,7,2
> > > >> 8,10,4,1,7
> > > >>
> > > >> C�digo empleado:
> > > >>
> > > >> a <- c(8,10,4,1,7,2,4,6,3,8)
> > > >>
> > > >> b <- rep(0,5)
> > > >>
> > > >> i=10
> > > >> while (i>=4) {
> > > >>
> > > >>         b <- a[i:i-4]
> > > >>         print(b)
> > > >>         i=i-1
> > > >>
> > > >> }
> > > >>
> > > >> Creo que el problema radica en a[i:i-4], pero no hay manera de
> solucionarlo. Si lo hago sin el while, me funciona, pero es que el while es
> muy sencillito, no entiendo porqu� no me funciona.
> > > >>
> > > >> Si me pod�is ayudar os lo agradecer�a mucho.
> > > >>
> > > >> Saludos.
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > >
> > >     [[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
> > >
> > > _______________________________________________
> > > R-help-es mailing list
> > > R-help-es en r-project.org
> > > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
> >       [[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
> >
>
>
>
> --
>
>
> *Albert Montolio Aguado*
>
>         [[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
>



-- 
Daniel

	[[alternative HTML version deleted]]



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