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

Albert Montolio albert.montolio en gmail.com
Mar Sep 15 17:42:38 CEST 2015


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]]



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