我想生成具有越来越多的代表的集合。最后,我需要一个矩阵或 data.frame,由 100 行组成,其中包含i
多个代表(例如它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)
}
非常感谢!
您只能return
在函数内使用。一种解决方案是创建一个矩阵来存储结果,如下所示:
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(c(1, 1000000), c(i, 2500-i))