[R-es] Problema con bucle for

Carlos Ortega cof en qualityexcellence.es
Mar Feb 24 11:00:26 CET 2015


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 <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
>
>         [[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
>
>


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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