[R-es] Fwd: problema en while y en extraer valores de un vector
Salvador Castillo Raya
casraysa en hotmail.com
Mar Sep 15 18:12:17 CEST 2015
Albert, te faltan dos parentesis en esta parte del codigo: b <- a[i:i+4]
Poniendolos b <- a[i:(i+4)] ya funciona.
Con tu codigo, R entiende que solo estás seleccionado una posicion del vector, un solo numero (a[5]), por eso falla. Necesitas los parentesis para que se realice antes la operación y obtenga la selección que quieres (a[1:5]).
Espero a ver sido claro en la explicacion.Saludos, Salva
Date: Tue, 15 Sep 2015 17:42:38 +0200
Subject: Re: [R-es] Fwd: problema en while y en extraer valores de un vector
From: albert.montolio en gmail.com
To: casraysa en hotmail.com
CC: r-help-es en r-project.org
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=1while (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=6while(i>=1){j=i+4b<-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