在 R 中铛漓,循環(huán)是一種常見(jiàn)的控制結(jié)構(gòu),用于重復(fù)執(zhí)行一組命令砸民。R 支持多種類(lèi)型的循環(huán)抵怎,包括 for 循環(huán)、while 循環(huán)和 repeat 循環(huán)岭参。
以下是每種循環(huán)的詳細(xì)介紹和示例:
1. for 循環(huán)
for 循環(huán)用于遍歷向量反惕、列表或其他集合。語(yǔ)法如下:
for (variable in sequence) {
# 循環(huán)體
}
示例
# 打印從 1 到 5 的數(shù)字
for (i in 1:5) {
print(i)
}
# 遍歷向量并計(jì)算平方
numbers <- c(1, 2, 3, 4, 5)
squares <- numeric(length(numbers))
for (i in 1:length(numbers)) {
squares[i] <- numbers[i]^2
}
print(squares)
2. while 循環(huán)
while 循環(huán)用于在條件為 TRUE 時(shí)重復(fù)執(zhí)行命令演侯。語(yǔ)法如下:
while (condition) {
# 循環(huán)體
}
示例
# 打印從 1 到 5 的數(shù)字
i <- 1
while (i <= 5) {
print(i)
i <- i + 1
}
# 計(jì)算數(shù)字的總和姿染,直到總和超過(guò) 10
sum <- 0
i <- 1
while (sum <= 10) {
sum <- sum + i
print(sum)
i <- i + 1
}
3. repeat 循環(huán)
repeat 循環(huán)用于無(wú)限次執(zhí)行命令,直到使用 break 語(yǔ)句退出循環(huán)秒际。語(yǔ)法如下:
repeat {
# 循環(huán)體
if (condition) {
break
}
}
示例
# 打印從 1 到 5 的數(shù)字
i <- 1
repeat {
print(i)
i <- i + 1
if (i > 5) {
break
}
}
# 計(jì)算數(shù)字的總和悬赏,直到總和超過(guò) 10
sum <- 0
i <- 1
repeat {
sum <- sum + i
print(sum)
i <- i + 1
if (sum > 10) {
break
}
}
4. 嵌套循環(huán)
循環(huán)可以嵌套使用。在嵌套循環(huán)中娄徊,一個(gè)循環(huán)位于另一個(gè)循環(huán)的循環(huán)體內(nèi)闽颇。
示例
# 打印乘法表
for (i in 1:5) {
for (j in 1:5) {
product <- i * j
cat(i, "*", j, "=", product, "\n")
}
cat("\n")
}
5. 使用 next 跳過(guò)當(dāng)前迭代
next 語(yǔ)句用于跳過(guò)當(dāng)前迭代并繼續(xù)下一次迭代。
示例
# 打印奇數(shù)
for (i in 1:10) {
if (i %% 2 == 0) {
next
}
print(i)
}
6. 使用 break 退出循環(huán)
break 語(yǔ)句用于立即退出循環(huán)寄锐。
示例
# 打印從 1 到 5 的數(shù)字兵多,然后退出循環(huán)
for (i in 1:10) {
if (i > 5) {
break
}
print(i)
}
# 計(jì)算數(shù)字的總和捻脖,直到總和超過(guò) 10
sum <- 0
for (i in 1:10) {
sum <- sum + i
if (sum > 10) {
break
}
print(sum)
}