📜  R中的循环(for,while,repeat)

📅  最后修改于: 2022-05-13 01:54:33.934000             🧑  作者: Mango

R中的循环(for,while,repeat)

在 R 编程中,我们需要一个控制结构来多次运行一段代码。循环属于最基本和最强大的编程概念。循环是一个控制语句,它允许一个语句或一组语句多次执行。 “循环”一词意味着循环或迭代。

在循环结构中,循环询问查询。如果该查询的答案需要一个操作,它将被执行。一次又一次地询问相同的查询,直到采取进一步的行动。任何时候在循环中询问查询时,都称为循环的迭代。循环有两个组成部分,控制语句和循环体。控制语句根据条件控制语句的执行,循环体由要执行的语句集组成。

为了在程序中多次执行相同的代码行,程序员可以简单地使用循环。

R编程中有三种类型的循环:

  • 循环
  • While 循环
  • 重复循环

R中的for循环

它是一种控制语句,使人们能够轻松地构造一个必须多次运行语句或一组语句的循环。 For 循环通常用于迭代序列中的项目。它是一个入口控制循环,在这个循环中首先测试测试条件,然后执行循环体,如果测试条件为假,则不执行循环体。

R – For 循环语法:

for (value in sequence)
{
  statement
}

For循环流程图:

For循环流程图

下面是一些程序来说明 R 编程中for循环的使用。

示例 1:在 R 中使用 for 循环显示从 1 到 5 的数字。

R
# R program to demonstrate the use of for loop
 
# using for loop
for (val in 1: 5)
{
    # statement
    print(val)
}


R
# R program to illustrate
# application of for loop
 
# assigning strings to the vector
week < - c('Sunday',
           'Monday',
           'Tuesday',
           'Wednesday',
           'Thursday',
           'Friday',
           'Saturday')
 
# using for loop to iterate
# over each string in the vector
for (day in week)
{
 
    # displaying each string in the vector
    print(day)
}


R
# R program to demonstrate the use of while loop
 
val = 1
 
# using while loop
while (val <= 5)
{
    # statements
    print(val)
    val = val + 1
}


R
# R program to illustrate
# application of while loop
 
# assigning value to the variable
# whose factorial will be calculated
n < - 5
 
# assigning the factorial variable
# and iteration variable to 1
factorial < - 1
i < - 1
 
# using while loop
while (i <= n)
{
 
    # multiplying the factorial variable
    # with the iteration variable
    factorial = factorial * i
 
    # incrementing the iteration variable
    i = i + 1
}
 
# displaying the factorial
print(factorial)


R
# R program to demonstrate the use of repeat loop
 
val = 1
 
# using repeat loop
repeat
{
    # statements
    print(val)
    val = val + 1
 
    # checking stop condition
    if(val > 5)
    {
        # using break statement
        # to terminate the loop
        break
    }
}


R
# R program to illustrate
# the application of repeat loop
 
# initializing the iteration variable with 0
i < - 0
 
# using repeat loop
repeat
{
    # statement to be executed multiple times
    print("Geeks 4 geeks!")
 
    # incrementing the iteration variable
    i = i + 1
 
    # checking the stop condition
    if (i == 5)
    {
        # using break statement
        # to terminate the loop
        break
    }
}


R
# R program to illustrate
# the use of break statement
 
# using for loop
# to iterate over a sequence
for (val in 1: 5)
{
    # checking condition
    if (val == 3)
    {
        # using break keyword
        break
    }
 
    # displaying items in the sequence
    print(val)
}


R
# R program to illustrate
# the use of next statement
 
# using for loop
# to iterate over the sequence
for (val in 1: 5)
{
    # checking condition
    if (val == 3)
    {
        # using next keyword
        next
    }
 
    # displaying items in the sequence
    print(val)
}


输出:

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

在这里,for 循环在数字从 1 到 5 的序列上进行迭代。在每次迭代中,都会显示序列的每个项目。

示例 2:显示星期几的程序。

R

# R program to illustrate
# application of for loop
 
# assigning strings to the vector
week < - c('Sunday',
           'Monday',
           'Tuesday',
           'Wednesday',
           'Thursday',
           'Friday',
           'Saturday')
 
# using for loop to iterate
# over each string in the vector
for (day in week)
{
 
    # displaying each string in the vector
    print(day)
}

输出:

[1] "Sunday"
[1] "Monday"
[1] "Tuesday"
[1] "Wednesday"
[1] "Thusrday"
[1] "Friday"
[1] "Saturday"

在上面的程序中,最初,一周中的所有天(字符串)都分配给向量周。然后 for 循环用于在一周内迭代每个字符串。在每次迭代中,都会显示一周中的每一天。

R中的while循环

它是一种控制语句,除非给定条件变为假,否则它将重复运行一个语句或一组语句。它也是一个入口控制循环,在这个循环中首先测试测试条件,然后执行循环体,如果测试条件为假,则不执行循环体。

R – While 循环语法:

while ( condition ) 
{
  statement
}

While循环流程图:

While循环流程图

下面是一些程序来说明 R 编程中while循环的使用。

示例 1:在 R 中使用 while 循环显示从 1 到 5 的数字。

R

# R program to demonstrate the use of while loop
 
val = 1
 
# using while loop
while (val <= 5)
{
    # statements
    print(val)
    val = val + 1
}

输出:

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

最初,变量 value 初始化为 1。在 while 循环的每次迭代中,都会检查条件并显示 val 的值,然后递增直到变为 5 并且条件变为 false,循环终止。

示例 2:计算一个数的阶乘的程序。

R

# R program to illustrate
# application of while loop
 
# assigning value to the variable
# whose factorial will be calculated
n < - 5
 
# assigning the factorial variable
# and iteration variable to 1
factorial < - 1
i < - 1
 
# using while loop
while (i <= n)
{
 
    # multiplying the factorial variable
    # with the iteration variable
    factorial = factorial * i
 
    # incrementing the iteration variable
    i = i + 1
}
 
# displaying the factorial
print(factorial)

输出:

[1] 120

在这里,首先将变量 n 分配给要计算阶乘的 5,然后将变量 i 和阶乘分配给 1。i 将用于迭代循环,阶乘将用于计算阶乘。在循环的每次迭代中,都会检查条件,即 i 应小于或等于 5,然后将阶乘乘以 i 的值,然后 i 递增。当 i 变为 5 时,循环终止,5 即 120 的阶乘显示在循环范围之外。

在 R 中重复循环

这是一个简单的循环,将重复运行相同的语句或一组语句,直到遇到停止条件。重复循环没有任何终止循环的条件,程序员必须专门在循环体中放置一个条件,并使用 break 语句的声明来终止这个循环。如果重复循环的主体中不存在任何条件,则它将无限迭代。

R – 重复循环语法:

repeat 
{ 
   statement
 
   if( condition ) 
   {
      break
   }
}

重复循环流程图:

重复循环流程图

要终止重复循环,我们使用一个跳转语句,即break关键字。下面是一些程序来说明 R 编程中重复循环的使用。

示例 1:在 R 中使用重复循环显示从 1 到 5 的数字。

R

# R program to demonstrate the use of repeat loop
 
val = 1
 
# using repeat loop
repeat
{
    # statements
    print(val)
    val = val + 1
 
    # checking stop condition
    if(val > 5)
    {
        # using break statement
        # to terminate the loop
        break
    }
}

输出:

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

在上面的程序中,变量 val 被初始化为 1,然后在重复循环的每次迭代中,都会显示 val 的值,然后递增直到大于 5。如果 val 的值大于 5 则 break语句用于终止循环。

示例 2:程序显示一条语句五次。

R

# R program to illustrate
# the application of repeat loop
 
# initializing the iteration variable with 0
i < - 0
 
# using repeat loop
repeat
{
    # statement to be executed multiple times
    print("Geeks 4 geeks!")
 
    # incrementing the iteration variable
    i = i + 1
 
    # checking the stop condition
    if (i == 5)
    {
        # using break statement
        # to terminate the loop
        break
    }
}

输出:

[1] "Geeks 4 geeks!"
[1] "Geeks 4 geeks!"
[1] "Geeks 4 geeks!"
[1] "Geeks 4 geeks!"
[1] "Geeks 4 geeks!"

在这里,最初变量 i 初始化为 0,然后在打印 Geeks 4 geeks 之后的重复循环的每次迭代中! i 的值递增直到它变为 5 并且 if 语句中的条件变为真,然后执行 break 语句以终止重复循环。

循环中的跳转语句

我们在循环中使用跳转语句在特定迭代处终止循环或跳过循环中的特定迭代。循环中最常用的两个跳转语句是:

  • Break 语句: break 关键字是一个跳转语句,用于在特定迭代处终止循环。

例子:

R

# R program to illustrate
# the use of break statement
 
# using for loop
# to iterate over a sequence
for (val in 1: 5)
{
    # checking condition
    if (val == 3)
    {
        # using break keyword
        break
    }
 
    # displaying items in the sequence
    print(val)
}

输出:

[1] 1
[1] 2

在上述程序中,如果 val 的值变为 3,则将执行 break 语句并终止循环。

  • Next 语句: next 关键字是一个跳转语句,用于跳过循环中的特定迭代。

例子:

R

# R program to illustrate
# the use of next statement
 
# using for loop
# to iterate over the sequence
for (val in 1: 5)
{
    # checking condition
    if (val == 3)
    {
        # using next keyword
        next
    }
 
    # displaying items in the sequence
    print(val)
}

输出:

[1] 1
[1] 2
[1] 4
[1] 5

在上述程序中,如果 Val 的值变为 3,则将执行下一条语句,因此将跳过循环的当前迭代。所以 3 不会显示在输出中。

正如我们可以从上面的两个程序中得出的结论,两个跳转语句之间的基本区别在于, break语句终止循环,而一条语句跳过循环的特定迭代。