[R-es] Problema con bucle for

morales en us.es morales en us.es
Mar Feb 24 11:19:07 CET 2015


 

Muchas gracias de nuevo por las soluciones aportadas. 

El 24/02/2015 11:10, Jorge I Velez escribió: 

> O solo 
> 
> R> sum(combn(x, 2, prod)) 
> [1] 14121 
> 
> Saludos, 
> Jorge.- 
> 
> 2015-02-24 21:00 GMT+11:00 Carlos Ortega <cof en qualityexcellence.es>:
> 
>> Hola,
>> 
>> Otra forma de hacerlo, es así:
>> 
>> #---------------
>>> x<- c(24,12,45,68,45)
>>> sum(apply(combn(x,2),2,prod))
>> [1] 14121
>> #---------------
>> 
>> Y te ahorras los líos del bucle y de los índices...
>> 
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es [1]
>> 
>> El 24 de febrero de 2015, 10:36, Francisco Rodríguez <fjroar en hotmail.com>
>> escribió:
>> 
>>> Si he entendido bien el problema, lo que quieres hacer realmente es esto:
>>> x<- c(24,12,45,68,45)n<-length(x)res=0for(i in 2:n-1){ for(j in
>>> (i+1):n){ res<- res + (x[i]*x[j]) print(res) }}
>>> Cuya salida es:
>>> [1] 288[1] 1368[1] 3000[1] 4080[1] 4620[1] 5436[1] 5976[1] 9036[1]
>>> 11061[1] 14121
>>> Varias observaciones:
>>> 1:n-1 define un vector que empieza en 0, cuando la posición 1 en R es el 1
>>> por tanto x[0] no existe y no da resultado
>>> sum(x[i]*x[j]) es una operación que calcula la suma de un vector, en tu
>>> caso tienes un escalar y por tanto no debería hacer nada
>>> Tienes que definir res para que se sume así misma
>>> Un saludo
>>> Francisco J.
>>> 
>>> 
>>>> Date: Tue, 24 Feb 2015 10:02:11 +0100
>>>> From: morales en us.es
>>>> To: r-help-es en r-project.org
>>>> Subject: [R-es] Problema con bucle for
>>>>
>>>>
>>>>
>>>> Hola, quiero obtener la suma del producto de los elementos de un vector
>>>> y cuando construyo el código me aparecen una serie de NA que me impiden
>>>> calcular la suma. ¿Alguna sugerencia?
>>>>
>>>> El código es el siguiente:
>>>>
>>>> x<- c(24,12,45,68,45)
>>>> n<-length(x)
>>>> res<-numeric()
>>>> for(i in 1:n-1){
>>>> for(j in i+1:n){
>>>> res<- sum(x[i]*x[j])
>>>> print(res)
>>>> }
>>>> }
>>>> res
>>>>
>>>>
>>>> [[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 [2]
>>> 
>>> [[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 [2]
>>> 
>>> 
>> 
>> --
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es [1]
>> 
>> [[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 [2]
 

Links:
------
[1] http://www.qualityexcellence.es
[2] https://stat.ethz.ch/mailman/listinfo/r-help-es

	[[alternative HTML version deleted]]



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