[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