Muchas gracias por la solución.
El 24/02/2015 10:36, Francisco Rodríguez 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=0 > for(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: mora...@us.es >> To: r-help-es@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@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es