循环语句能够使程序代码重复执行。在R语言中循环语句包括for循环、while循环和repeat循环。
在R语言中,我们可以使用for循环来执行重复的任务。for循环通常用于遍历向量、列表、数据框等数据结构中的元素。以下是使用for循环的基本语法。
其中,variable 是一个变量名,用于存储每次迭代中的当前元素的值;sequence 是一个要遍历的序列,可以是向量、列表、数据框等。
for循环示例代码如下。
上述示例的目的是打印出一个名为numbers的向量中的所有元素。运行上述示例代码输出结果如下。
while循环是一种先判断后执行的循环结构。while循环结构流程如图2-5所示,首先测试条件表达式,如果值为TRUE,则执行语句块,接着继续测试条件表达式,如果为TRUE,则执行语句块,以此不断循环,直到条件表达式的值为FALSE;如果条件表达式的值为FALSE,则忽略语句块继续执行后面的语句。以下是while循环的基本语法。
图2-5 while循环结构流程
while循环示例代码如下。
上述示例代码实现了计算一个整数的阶乘,用户可以在控制台输入一个整数,然后程序会根据用户的输入计算这个整数的阶乘。
运行上述示例代码,如果我们输入5,则输出结果如下。
在R语言中,repeat 循环是一种用来执行无限循环的控制结构。与for循环和while循环不同的是,repeat循环会一直执行,直到遇到break语句或手动停止循环。以下是 repeat 循环的基本语法。
使用repeat循环重构2.2.2小节的阶乘示例,实现代码如下。
上述代码①通过break语句退出循环,有关break语句我们将在2.3节再详细介绍,示例代码的运行过程不再赘述。