R语言循环语句while和repeat

R语言循环语句

1、for语句

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

2、while循环语句

  • 注意执行顺序,先执行f[i]+f[i+1]<1000,然后往下走,与下面repeat有区别
  • 例子 计算斐波那契数列

> 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)

上一篇:Linux_Login_Repeat


下一篇:第十一届蓝桥杯真题解析JavaC组