📅  最后修改于: 2023-12-03 15:28:31.632000             🧑  作者: Mango
在 R 编程语言中,重复是一个常见的编程需求。以下是一些常见的重复示例,以及如何在 R 中实现它们。
使用循环可以重复执行一系列语句。在 R 中,有两种类型的循环:for
循环和 while
循环。
for
循环for
循环通常用于已知循环次数的情况,例如循环遍历一个向量或矩阵。
以下是一个简单的 for
循环示例,从 1 循环到 5 并输出每个数字:
for (i in 1:5) {
print(i)
}
输出:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
while
循环while
循环通常用于未知循环次数的情况,例如循环直到条件为真。
以下是一个简单的 while
循环示例,循环直到变量 i
大于等于 5 并输出每个数字:
i <- 1
while (i < 5) {
print(i)
i <- i + 1
}
输出:
[1] 1
[1] 2
[1] 3
[1] 4
使用 apply
函数可以在向量、矩阵或数据框的行或列上执行函数。apply
函数会自动重复执行函数,直到所有元素都被处理完为止。
以下是一个简单的 apply
函数示例,计算一个矩阵的每一列的平均值:
m <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3)
apply(m, 2, mean)
输出:
[1] 2.5 3.5 4.5
使用 lapply
函数可以在列表中的每个元素上执行函数。与 apply
函数不同,lapply
函数可以处理不同长度和类型的元素。
以下是一个简单的 lapply
函数示例,将一个列表中的每个元素转换为大写字母:
l <- list("hello", "world", 123)
lapply(l, toupper)
输出:
[[1]]
[1] "HELLO"
[[2]]
[1] "WORLD"
[[3]]
NULL
使用 sapply
函数可以在向量、列表或矩阵上执行函数,并返回一个向量或矩阵。
以下是一个简单的 sapply
函数示例,将一个向量每个元素都加 1:
v <- c(1, 2, 3, 4, 5)
sapply(v, function(x) x + 1)
输出:
[1] 2 3 4 5 6
以上是一些常见的 R 重复示例及其实现方式。掌握这些技巧将帮助您更高效地编写 R 代码。