小编Man*_*nos的帖子

在R中的for循环中增加计数器

大家好,我在for循环中创建的计数器有问题.这是代码.

n1<- 0
n2<- 0
n<- 20
f<- rep(NA,20)
set.seed(10) 
x<- runif(20)
for(i in 1:20) {
f[i]<- ifelse(x[i]<0.5, 'a', 'b')
if((n1-n2)==2) {
break
 }
 if(f[i]=='a')  
n1<- n1 + 1 else n2<- n2 + 1 # n1 counts a's n2 counts b's
}

[1] "b" "a" "a" "b" "a" "a" "a" NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
Run Code Online (Sandbox Code Playgroud)

正如你可以从a的结果数看到= 5而b = 2.但是当我调用n1和n2时,它返回4表示n1,这是错误的.这是为什么?我怎么了?提前致谢 .

我开始以0.5 .20的概率对a和b进行采样.在某些我事先不知道的地方,a的数量 - b的数量超过2.当发生这种情况时,我希望采样概率变为0.2这就是我想要实现的目标.

counter for-loop r

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

counter ×1

for-loop ×1

r ×1