【发布时间】:2018-01-14 11:15:21
【问题描述】:
我有一个包含 10,000 行和 2 列的数组 x。我运行一个测试,然后我希望重复测试,直到测试大于 7.81,然后停止。这是旧代码。
x=matrix(runif(10000*2,0,1),10000,2)
test <- vector(mode="numeric", length=196)
i=0
while(max(test)<7.81 & 200+i*50<=nrow(x))
{
y = x[seq(1,200+i*50),] # y contains the first 200+i*50 rows of x
ts= runif(1,1,7.9) # random test statistic, enter yours here.
test[i]= sum(ts)
i=i+1}
我现在感兴趣的是:
我想运行测试直到它大于 7.81,但我想以不同的方式访问我的数组 x。在第一个实例中,我只想使用数组 x 的前 6,000 行。因此,我想将数组的条目增加 50。例如,第二次迭代我想使用第 50 行直到 6050、第三次迭代 x[100:6100]、第四次 x[150:6150] 等等。
【问题讨论】:
-
你想要的是
y <- x[1:6000,],然后是y <- x[50:6050,],然后是y <- x[100:6100,]等等,对吗? -
是的,这就是我想要的
标签: arrays r loops while-loop