Rで乱数を加算するプログラムを作成しようとしています。しかし、私はいくつかの数字のためにそれを試しても動作しません。例えば 、乱数の合計R
## rm(list=ls())
random.sum <- function(n) {
x[1:n] <- ceiling(10*runif(n))
cat("x:", x[1:n], "\n")
return(sum(x))
}
x <- rep(100, 10)
show(random.sum(10))
show(random.sum(5))
私は10個のランダムな数字を合計しようとしたとき、私は5で、次のいずれかのためにそれをしようとすると、それは、私が
show(random.sum(10))
x: 1 3 10 1 3 2 8 6 7 9
[1] 50
で正しい合計を与えるだろう、それは、
show(random.sum(5))
x: 7 5 6 2 9
[1] 529
を動作しません私は私が間違って
関数の外側に 'x'を定義して、10個の要素をすべて100に設定しています。関数の中で関数の' n'要素を更新しています。したがって、 'n = 5'を設定すると、最初の5つの要素だけが更新されます。残りの5つはまだ「100」に設定されています – SymbolixAU
なぜこれをやりたいのですか? – zx8754