📜  R For循环

📅  最后修改于: 2021-01-08 09:35:11             🧑  作者: Mango

R For循环

for循环是最流行的控制流语句。 for循环用于迭代向量。它类似于while循环。 for和while之间只有一个区别,即在while循环中,在执行主体之前检查条件,而在for循环中,在执行主体之后检查条件。

C / C++中有以下For循环语法:

for (initialization_Statement; test_Expression; update_Statement)
{
    // statements inside the body of the loop 
}

For循环在C / C++中如何工作?

C和C++中的for循环以以下方式执行:

  • for循环的初始化语句仅执行一次。
  • 初始化过程之后,将评估测试表达式。当测试表达式评估为false时,for循环终止。
  • 执行for循环体内的语句,如果测试表达式的值为true,则更新表达式。
  • 再次评估测试表达式。
  • 该过程一直持续到测试表达式为假。当测试表达式为false时,循环终止。

R编程中的For循环

在R中,for循环是在某些条件下重复指令序列的一种方式。它使我们能够自动执行需要重复的代码部分。简单来说,for循环是一个重复控制结构。它使我们能够高效地编写需要执行一定时间的循环。

在R中,for循环定义为:

  • 它以C或C++之类的关键字开头。
  • 与初始化和声明循环计数器变量不同,我们声明一个变量,其类型与向量,矩阵等的基本类型相同,然后是冒号,然后是冒号,然后是数组或矩阵名称。
  • 在循环主体中,请使用循环变量,而不要使用索引数组元素。
  • R中有以下for循环语法:
for (value in vector) {
   statements
}

流程图

示例1:我们迭代向量的所有元素并print当前值。

# Create fruit vector
fruit <- c('Apple', 'Orange',"Guava", 'Pinapple', 'Banana','Grapes')
# Create the for statement
for ( i in fruit){ 
    print(i)
}

输出量

示例2:借助x的1至5之间的多项式创建非线性函数,并将其存储在列表中。

# Creating an empty list
list <- c()
# Creating a for statement to populate the list
for (i in seq(1, 5, by=1)) {
  list[[i]] <- i*i
}
print(list)

输出量

示例3:循环矩阵

# Creating a matrix
mat <- matrix(data = seq(10, 21, by=1), nrow = 6, ncol =2)
# Creating the loop with r and c to iterate over the matrix
for (r in 1:nrow(mat))   
    for (c in 1:ncol(mat))  
         print(paste("mat[", r, ",",c, "]=", mat[r,c])) 
print(mat)

输出量

示例4: For遍历列表

# Create a list with three vectors
fruit <- list(Basket = c('Apple', 'Orange',"Guava", 'Pinapple', 'Banana','Grapes'), 
Money = c(10, 12, 15), purchase = TRUE)
for (p  in fruit) 
{ 
    print(p)
}

输出量

示例5:计算向量中的偶数个数字#创建一个包含三个向量的列表。

x <- c(2,5,3,9,8,11,6,44,43,47,67,95,33,65,12,45,12)
count <- 0
for (val in x) {
if(val %% 2 == 0)  count = count+1
}
print(count)

输出量