1. ホーム
  2. r

[解決済み] forループを用いた二重和算

2022-02-11 14:27:29

質問

Rでかなり複雑な式の二重合計をしようとしているのですが、forループが期待通りに動いていないような気がします。

以下は、私がやろうとしている複雑なことの基本的なバージョンです。

\sum_{I=3}^{5}\sum_{j=2}^{3} (I*j)

これで3*2+3*3+4*2+4*3+5*2+5*3のようにすべての項を合計してほしいのだが。 で、60になります。しかし、私が持っているコードはそれを生成しないので、Rがこの2重のforループで実際に何をしているのか不思議に思っています。

 for(i in 3:5){
 for(j in 2:3){
   x<-i*j
     }
    }

この例は些細なものですが、これを理解できれば、私がやろうとしているもっと複雑なことに応用できるようになると思います。

どのように解決するのですか?

各ループにxを追加するのを忘れています。

x <- 0
for(i in c(3,4,5)){
  for(j in c(2,3)){
    x <- x + i*j # add x here
  }
}
x

EDIT: これは@G5Wが言ったことと同じです。