for循环是什么
for 循环是 R 语言中最常用的重复执行代码 的结构,用于对向量、列表 等对象进行逐一遍历、批量处理,是数据分析、批量计算、自动化处理的核心工具。
语法格式
r
for (变量 in 可迭代对象) {
要重复执行的代码块
}
- 变量:每次循环取出的一个值(自定义名称)
- 可迭代对象:必须是向量、列表等可遍历的对象
- 大括号:包含需要重复执行的语句
执行流程
- 从可迭代对象中取出第一个值,赋值给变量
- 执行大括号内的代码
- 自动取下一个值,重复执行
- 直到遍历完所有值,循环结束
什么是可迭代对象
核心判断标准
能被 for 循环逐个取出元素的对象,才叫可迭代对象。
R 语言判断:长度 > 1 的有序数据集合 = 可迭代。
✅ 属于可迭代对象
- 向量(数字向量、字符向量、逻辑向量)
- 列表(list)
❌ 不属于可迭代对象(不能直接遍历)
- 单个标量值(数字、单个逻辑值)
- 单个字符串 (整体算 1 个元素,不能按字母遍历)
- NULL(无内容)
- 函数、表达式、公式(不是数据集合)
实例对比
-
单个字符串 vs 字符串向量
"hello":不可迭代(长度=1)c("a","b","c"):可迭代(长度>1)
-
单个数字 vs 数字向量
10:不可迭代1:5:可迭代
-
列表 vs 函数
list(1,2,3):可迭代function(){}:不可迭代
🔥 高频易混淆总结
- 以为字符串能像 Python 一样按字母遍历
→ R 不支持,单个字符串是整体,不是字符数组。 - 把单个值放进 for 循环
→ 只会执行一次,不是真正遍历。 - 认为"只要是数据就能遍历"
→ 必须是多元素集合才能遍历。
示例
r
# 遍历数字 1 到 5,依次输出
for (i in 1:5) {
print(i)
}
复习:什么是paste
paste = 拼接字符串
作用:把文字 + 变量拼在一起,让输出更通顺、更好看。
语法格式:
paste(内容1, 内容2, 内容3, ...)
例题1
循环计算 : 计算
1到100累计求和的结果
r
sum <- 0
for (i in 1:100) {
sum <- sum + i
}
print(paste("1到100的和是:", sum))
复习:if 语句与取模 %%
1. 取模运算符 %%
- 作用:求余数
- 判断偶数:
x %% 2 == 0(除以 2 余数为 0 → 偶数)
2. if 条件语句
r
if (条件) {
满足条件时执行
}
例题2
使用 for 循环,计算 1~100 之间所有偶数的和 。
要求:用
if+%%判断是否为偶数,最后输出总和
r
# 初始化累加和
sum <- 0
# 循环 1~100
for (i in 1:100) {
# 判断是否为偶数
if (i %% 2 == 0) {
sum <- sum + i
}
}
# 输出结果
print(paste("1到100的偶数和为:", sum))
例题3
批量生成问候语 :已知有一组问候语:
"早上好"、"中午好"、"下午好"、"晚上好"请使用 for 循环 遍历这组问候语,并输出完整句子:
老师 XXXX !祝您工作顺利!(XXXX 替换为对应的问候语)
r
# 1. 定义问候语向量
words <- c("早上好", "中午好", "下午好", "晚上好")
# 2. for 循环遍历并输出完整句子
for (w in words) {
print(paste("老师", w, "!祝您工作顺利!"))
}
课堂检测
一、判断题(对打√,错打×)
- for 循环可以重复执行一段代码,用于批量处理数据。( )
- R 语言中,单个字符串
"hello"可以直接被 for 循环按字母遍历。( ) - 向量、列表都属于可迭代对象。( )
- 判断偶数可以使用条件:
i %% 2 == 0。( ) paste()函数的作用是把多个内容拼接成一段文字。( )
二、单选题
-
下列不属于可迭代对象的是( )
A.
c(1,2,3)B.list("a","b")C."你好"D.1:5 -
R 语言 for 循环的正确语法是( )
A.
for i in 1:5 {}B.
for (i in 1:5) {}C.
for i = 1 to 5 {}D.
loop (i in 1:5) {} -
10 %% 3的结果是( )A. 3 B. 1 C. 0 D. 2
-
下列代码执行后,sum 的值是( )
r
sum <- 0
for(i in 1:4){ sum <- sum + i }
A. 4 B. 6 C. 10 D. 12
- 要在循环中只累加偶数,应使用的判断语句是( )
A.if(i == 2)B.if(i %% 2 == 0)
C.if(i / 2 == 0)D.if(i % 2 == 0)
参考答案
一、判断
1.√ 2.× 3.√ 4.√ 5.√
二、单选
6.C 7.B 8.B 9.C 10.B
课堂小结
本节课我们重点学习了 R语言for循环 的使用方法与相关配套知识点,整体内容可归纳为以下几点:
-
for循环的作用与语法
for循环用于重复执行代码、批量处理数据 ,是数据分析中最常用的循环结构。
标准格式:
for (变量 in 可迭代对象) { 代码块 }。 -
可迭代对象的判断
只有长度大于1的有序数据集合 才能被遍历:
✅ 向量、列表属于可迭代对象;
❌ 单个值、单个字符串、NULL、函数等不属于可迭代对象。
特别注意:R语言单个字符串不能按字母遍历。
-
配套关键函数与语法
paste():用于文字与变量拼接,让输出更完整;%%:取模运算符,常用于判断奇偶;if语句:在循环中实现条件筛选。
-
典型应用场景
本节课通过累加求和、偶数求和、批量生成问候语 三个案例,掌握了for循环在遍历、计算、批量输出中的基本用法,为后续数据处理打下基础。
-
学习要点
写循环时要结构清晰、逻辑简单,先明确遍历对象,再写循环体,最后验证结果,逐步提升代码编写能力。