0

いくつかの代表者の数が増えているセットを生成したいと思います。i最後に、代表の数を含む100行で構成されるマトリックスまたはdata.frameが必要です(例では、それは1です)。しかし、次のエラーがあります。トリックは何ですか?私は何が欠けていますか?

Error: no function to return from, jumping to top level

for(i in 1:100) {
    x <- c(rep(1,i),rep(100000,(2500-i)))
    return(x)
}

どうもありがとう!

4

1 に答える 1

1

関数内でのみ使用できreturnます。1 つの解決策は、次のような結果を格納するマトリックスを作成することです。

R> m = matrix(0, ncol=100, nrow=2500)
R> 
R> for(i in 1:100) {
+   m[,i] = c(rep(1, i), rep(100000, (2500-i)))
+ }

トリックを行う必要があります。またはsapply関数を使用して:

m1 = sapply(1:100, function(i) c(rep(1, i), rep(100000,(2500-i))))

情報については、rep 関数を次のように単純化することもできます。

rep(c(1, 1000000), c(i, 2500-i))
于 2013-08-14T08:29:11.343 に答える