En mi opini�n en R siempre es preferible soluciones como la de Carlos, al ser 
una operaci�n vectorial, todo es much�simo m�s r�pido, de este modo si tu 
vector fuese muy grande, mi soluci�n ser�a lenta pero imagino que la de Carlos 
ser�a bastante r�pida
Un saludo

Date: Tue, 24 Feb 2015 11:00:26 +0100
Subject: Re: [R-es] Problema con bucle for
From: [email protected]
To: [email protected]
CC: [email protected]; [email protected]

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

El 24 de febrero de 2015, 10:36, Francisco Rodr�guez <[email protected]> 
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: [email protected]

> To: [email protected]

> 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

> [email protected]

> https://stat.ethz.ch/mailman/listinfo/r-help-es



        [[alternative HTML version deleted]]




_______________________________________________

R-help-es mailing list

[email protected]

https://stat.ethz.ch/mailman/listinfo/r-help-es




-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
                                          
        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a