📜  R中的for循环

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

R中的for循环

R 编程语言中的 for 循环对于遍历列表、数据框、向量、矩阵或任何其他对象的元素很有用。这意味着,for 循环可用于根据对象中元素的数量重复执行一组语句。它是一个入口控制循环,在这个循环中首先测试测试条件,然后执行循环体,如果测试条件为假,则不执行循环体。

R语法中的for循环:

for (var in vector) {
    statement(s)    
}

在这里, var 在循环期间采用向量的每个值。在每次迭代中,都会评估语句。

R中的For循环流程图:

示例 1:在 R 中迭代一个范围 – For 循环

R
# R Program to demonstrate
# the use of for loop
for (i in 1: 4)
{
    print(i ^ 2)
}


R
# R Program to demonstrate the use of
# for loop along with concatenate
for (i in c(-8, 9, 11, 45))
{
    print(i)
}


R
# R Program to demonstrate the use of
# for loop with vector
x <- c(-8, 9, 11, 45)
for (i in x)
{
    print(i)
}


R
# R Program to demonstrate the use of
# nested for loop
for (i in 1:3)
{
    for (j in 1:i)
    {
        print(i * j)
    }
}


R
# R Program to demonstrate the use of
# break in for loop
for (i in c(3, 6, 23, 19, 0, 21))
{
    if (i == 0)
    {
        break
    }
   print(i)
}
print("Outside Loop")


R
# R Program to demonstrate the use of
# next in for loop
for (i in c(3, 6, 23, 19, 0, 21))
{
    if (i == 0)
    {
        next
    }
    print(i)
}
print('Outside Loop')


输出:

[1] 1
[1] 4
[1] 9
[1] 16

在上面的例子中,我们迭代了 1 到 4 的范围,这是我们的向量。现在这个通用 for 循环可以有几种变体。除了使用 1:5 序列,我们也可以使用 concatenate函数。

示例 2:在 R 中使用连接函数– For 循环

R

# R Program to demonstrate the use of
# for loop along with concatenate
for (i in c(-8, 9, 11, 45))
{
    print(i)
}

输出:

[1] -8
[1] 9
[1] 11
[1] 45

除了在循环中编写向量之外,我们还可以预先定义它。

示例 3:在循环外使用连接 R – For 循环

R

# R Program to demonstrate the use of
# for loop with vector
x <- c(-8, 9, 11, 45)
for (i in x)
{
    print(i)
}

输出:

[1] -8
[1] 9
[1] 11
[1] 45

R中的嵌套For循环

R 编程语言允许在另一个循环中使用一个循环。在循环嵌套中,我们可以将任何类型的循环放入任何其他类型的循环中。例如,for 循环可以在 while 循环内,反之亦然。以下部分显示了一个示例来说明该概念:

例子:

R

# R Program to demonstrate the use of
# nested for loop
for (i in 1:3)
{
    for (j in 1:i)
    {
        print(i * j)
    }
}

输出:

[1] 1
[1] 2
[1] 4
[1] 3
[1] 6
[1] 9

R中的跳转语句

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

中断声明:

break 语句是一个跳转语句,用于在特定的迭代中终止循环。然后程序继续循环外的下一条语句(如果有的话)。

例子:

R

# R Program to demonstrate the use of
# break in for loop
for (i in c(3, 6, 23, 19, 0, 21))
{
    if (i == 0)
    {
        break
    }
   print(i)
}
print("Outside Loop")

输出:

[1] 3
[1] 6
[1] 23
[1] 19
[1] Outside loop

在这里,一旦遇到零,循环就会退出。

下一个声明

它中止特定的迭代并跳转到下一个迭代。因此,当遇到 next 时,将丢弃该迭代并再次检查条件。如果为真,则执行下一次迭代。因此,下一条语句用于跳过循环中的特定迭代。

例子:

R

# R Program to demonstrate the use of
# next in for loop
for (i in c(3, 6, 23, 19, 0, 21))
{
    if (i == 0)
    {
        next
    }
    print(i)
}
print('Outside Loop')

输出:

[1] 3
[1] 6
[1] 23
[1] 19
[1] 21
[1] Outside loop

在这里,只要遇到零,就停止迭代并再次检查条件。由于 21 不等于 0,所以打印出来。正如我们可以从上面的两个程序中得出的结论,两个跳转语句之间的基本区别在于,break 语句终止循环,而下一条语句跳过循环的特定迭代。