R语言循环语句while和repeat

1、for语句

R语言批量处理1——输出list文件及数据框长宽转换
R语言批量处理2——导入excel,定位提取合并为数据框data.frame

2、while循环语句


> f=1
> f[2]=1
> i=1
> while(f[i]+f[i+1]<1000){
+   f[i+2]=f[i]+f[i+1]
+   i=i+1
+ }
> f
 [1]   1   1   2   3   5   8  13  21  34  55  89 144 233 377 610 987
> i
[1] 15

3、repeat语句

  • 与if常常联用,注意执行顺序,f[i]+f[i+1]>1000,与while<1000不同
> f=1
> f[2]=1
> i=1
> repeat{
+   f[i+2]=f[i]+f[i+1]
+   i=i+1
+   if (f[i]+f[i+1]>1000) break
+ };f
 [1]   1   1   2   3   5   8  13  21  34  55  89 144 233 377 610 987
> i
[1] 15

4、举例

  • 甲和乙玩游戏,规则如下:

    • 甲每胜一局赢1元,负一局输1元,甲每局获胜的概率都是0.5,每局之间相互独立。(类似抛硬币
    • 问题:甲的初始资产为50元,反复游戏,直到甲资产变成0或者200为止。请问,甲先输到0 的概率。
  • while语句

a=c(1,-1)
f[1]=50
i=1
while (f[i]!=0) {
  x <- sample(a,1)
  f[i+1]=f[i]+x
  i=i+1
}
i
  • repeat语句
a <- c(1,-1)
f=50
i=1
repeat{
  x <- sample(a,1)
  f[i+1]=f[i]+x
  i=i+1
  if(f[i]==0|f[i]==200) break
};f
i

5、引用

R语言︱函数使用技巧(循环、if族/for、switch、repeat、ifelse、stopifnot)

看完如果对你有帮助,感谢点赞支持!

如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值