【R语言】流程控制

一、流程控制

R语言中,常用的流程控制函数有:repeat、while、for、if...else、switch。

1、repeat循环

repeat函数经常与 break 语句或 next 语句一起使用。

R 复制代码
repeat ({
  x <- sample(c(1:7),1)
  message("x = ", x, ",你好吗?")
  if (x == 4){
     message("x = ", x, ",继续执行下一次循环!")
     next
  }
  if (x == 7){
     message("x = ", x, ",跳出循环!")
     break
  }
})

2、while循环

R 复制代码
x <- sample(c(1:10),1)
while (x != 4){
x <- sample(c(1:10),1)
message("x= ", x, ",你好,关关")
}

3、for循环

for 循环通过一个迭代器和一个向量参数执行程序代码,它适用于明确代码需要执行次数的情形。

R 复制代码
a <- c(1:10)
for (x in a){
  message("x= ", x, ",你好,悦悦!")
}

4、if...else语句

注意,else 必须与 if 语句的右侧大括号在同一行,否则会报错。

R 复制代码
x <- 10
if (x > 10){
  print("X大于10")
} else{
  print("X小于等于10")
}

if...else 可以反复使用:

R 复制代码
x <- 10
if (x > 10){
  print("Hello")
} else if(x == 10){
  print("你好!")
} else {
  print ("Bonjour!")
}

if ... else可以合起来一起使用:

R 复制代码
x <- 10
y <- ifelse(x > 10, "HELLO", "你好!")
print(x)
print(y)

5、switch语句

switch语句是为了替代会使用很多 if...else 语句的场景,以提高代码的可读性。

R 复制代码
x <- "f"
switch (x, beta = "beta分布", gama = "gama分布", f = "f分布", "其它")
相关推荐
半瓶榴莲奶^_^2 分钟前
后端Web进阶(AOP)
java·开发语言
raoxiaoya4 分钟前
ADK-Go:Golang开发AI Agent
开发语言·人工智能·golang
一只乔哇噻5 分钟前
java后端工程师+AI大模型开发进修ing(研一版‖day61)
java·开发语言·学习·算法·语言模型
我爱学习_zwj13 分钟前
Node.js模块管理:CommonJS vs ESModules
开发语言·前端·javascript
ldmd28416 分钟前
Go语言实战:入门篇-6:锁、测试、反射和低级编程
开发语言·后端·golang
bing.shao21 分钟前
Golang中实现基于角色的访问控制(RBAC)
开发语言·后端·golang
shenzhenNBA21 分钟前
如何在python项目中使用日志功能?通用版本
java·开发语言·python·日志·log
why15121 分钟前
面经整理——Go
开发语言·后端·golang
weixin_3077791321 分钟前
简化多维度测试:Jenkins Matrix Project 的核心概念与最佳实践
运维·开发语言·架构·jenkins
weixin_3077791327 分钟前
Jenkins Matrix Authorization Strategy插件:详解与应用指南
运维·开发语言·架构·jenkins