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
