1

私はRでこれをやっています.Rで次のことを行うショートカットの方法がありますが、私はそれをチェックアウトしたい:

   x <- c(7,6,8,7)
   y <- 1
   n <- length(x)
   p=1
   s = 0
   for(i in 1:n){
          s = s + (x^p * y^p)
   }

   s

for ループでのインデックス番号を指定していないのでx、 の最初の要素だけが使用されると推測しましたx。だから私はテーブルを作りました:

    i     s= s + (x^p * y^p)
    1     s= 0 + (7^1 * 1^1)=7
    2     s= 7 + (7^1 * 1^1)=14
    3     s= 14 + (7^1 * 1^1)=21
    4     s= 21 + (7^1 * 1^1)=28 

しかし、結果は次のとおりでした。

    s
   [1] 28 24 32 28

私はこの結果に決して匹敵することはできませんでした。それはどのように機能しますか?

4

1 に答える 1

4

xは単一の整数ではなく、整数のベクトルです。x神が意図した方法でサブセット化する必要があります。を指定するxと、R は最初の要素だけを使用するのではなく、それらすべてを使用します。これは、ソリューションを曇らせている仮定です。

x <- c(7,6,8,7)
y <- 1
n <- length(x)
p <- 1
s <- 0
for(i in 1:n){
  s <- s + (x[1]^p * y^p)
  message(s)
}

7
14
21
28
于 2013-07-16T12:46:14.527 に答える