面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总

힘센캥거루
2026년 1월 5일
4
18

之前我一直有个疑问:既然已经会 Python,真的还有必要再学 R 吗?

这次听完研修之后,我意识到,在做研究的时候其实完全没必要非得用 Python。

用 Python 的话,要用 numpy 做线性回归、画图、算 P value 等等,全都要自己一项项做;但是在 R 里,用 lmsummary 一句就可以搞定。

所以今天就把到目前为止学过的 R 实操内容做个总复习,并且用真实数据来展示练习示例。

1. 示例数据

示例数据是 Kaggle 上的美国学生成绩数据。

考虑到有的人可能还没注册 Kaggle,我在下面附上了一个下载链接。

据说这份数据是为了考察父母背景、考试准备课程等因素对学生成绩的影响而制作的。

下面贴上了数据内部的字段值。

简单说明一下:gender 是学生性别,race 是种族,parental level 是父母的受教育程度,lunch 是供餐价格,test preparation 是是否完成考试准备课程。

面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-1

2. 在 R Studio 中打开 csv 文件

在 R Studio 中用来读取文件的命令是 read

如果嫌输入文件路径麻烦,可以先选中要打开的文件,复制然后粘贴到这里,路径就会自动填入。

或者也可以用 file.choose() 命令,在 Windows 窗口里直接选择文件。

另外,每一行命令的执行可以用 ctrl + enter(Mac 上是 cmd + enter)。

data <- read.csv("文件路径")
// dat <- read.csv(file.choose())

head(data)
面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-2

3. 线性回归分析

现在用这份数据做一个简单的线性回归。

lm 这个函数的内部参数依次为 lm(因变量 ~ 自变量, 数据表)

比如要看数学成绩和写作成绩之间的相关关系,可以像下面这样运行:

m1 <- lm(data$math.score ~ data$writing.score, data)
summary(m1)

这样就非常简单地完成了线性回归分析。

误差、t 检验、p-value 等等,即使什么都不额外设置,也会给出可以直接写进论文的结果,非常方便。

面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-3

4. 绘制图表

画图也可以非常轻松地完成。

只要简单输入 plot(m1),大部分需要的图表就会自动绘制出来。

如果有想单独查看的数据,只要依次输入 x 轴和 y 轴的值,并用逗号分隔即可。

面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-4

5. 多元回归分析

当自变量很多时,只要在 lm 的自变量参数位置把所有变量用 + 号连接起来就行。

例如想看阅读成绩和数学成绩对写作成绩的影响,可以按下面这样分析:

m2 <- lm(data$writing.score ~ data$reading.score + data$math.score, data)
summary(m2)
面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-5

6. 类别变量处理(非数值数据的处理)

类别变量是指把数据划分为若干质性组或类别的变量。

这是为了处理像性别、学历这类非数值型数据。

这里先用最简单的性别来演示。

利用 ifelse() 函数,往 data 中加入一个名为 gender1 的虚拟变量。

data$gender1 <- ifelse(data$gender == "male", 0, 1)
// 第一条条件为真时赋值 0,为假时赋值 1
head(data)

这样之后再查看表格,就会发现新增了 gender1 这一列,女性为 1,男性为 0。

面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-6

现在就可以利用它来做线性回归分析了。

有趣的是,其实就算不做这些处理,直接把 gender 丢进去也可以完成分析。

m3 <- lm(data$math.score ~ data$gender, data)
plot(m3)

这是因为 R 会像我们上面那样,自动先处理字符型数据,然后再进行分析。

面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-7

性别只有两个类别,所以相对简单;但是像父母学历或分组这种包含多个类别的变量情况就有点不一样了。

如果有 n 个类别,就需要 n-1 个虚拟变量。

虽然也可以手动创建,但直接把灵魂托付给 R 似乎也未尝不可。

m4 <- lm(data$math.score ~ data$race.ethnicity, data)
summary(m4)
plot(m4)
面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-8面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-9

7. 利用 resid 计算并使用残差

通过 resid 可以计算每一项相对于线性回归曲线的残差。

利用残差可以检查数据是否呈线性、方差状况如何。

先进行数据分析,然后用一个自变量和分析结果来计算残差并绘制图形。

m5 <- lm(data$math.score ~ data$writing.score, data)
res1 <- resid(m5)

plot(data$writing.score, res1)
面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-10

画出图之后可以看到,实际数据的方差并不是等方差的。

这种情况下,就需要对各个数值的轴尺度进行调整。

8. 利用 R 进行交互作用分析——逐步回归分析

逐步回归分析是指逐个加入变量,检查其影响力的过程。

研究者当然可以手动逐个加入变量,但在 R 中这些都能自动完成。

m7 <- lm(data$math.score ~ ., data)
m8 <- step(m7, direction = "both")
summary(m8)
面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-11

这种方法虽然简单,但结果的解读会比较困难。

因此据说大家更偏好能根据研究者意图来分析的层级回归分析

9. 后记

我原本以为随便做个逐步回归,选一个解释力最强的模型,然后沿着 p-value 最低的方向下结论就行了,结果发现并不是这么回事。

R 的确很好用,但为了得到结论,研究者的思考过程仍然非常重要。

在学习之前,我一直觉得不用学 R,用 Python 就能解决一切,事实证明这是天大的误解。

如今,我开始膜拜 R 了。

面向教师的教育研究与统计分析研修——第13~20课时 R 实操汇总-12

관련 글

2026년 동국대학교 미래사회 교원역량 강화 포럼 오프라인 참여 후기
2026년 동국대학교 미래사회 교원역량 강화 포럼 오프라인 참여 후기
어느 선생님이 재미있어 보이는 연수를 하나 소개시켜 주셨다.동국대에서 진행하는 AI 관련 연수였다.AI인 것도 좋인데 연수가 호텔에서?이건 무조건 가야 한다 싶었다.해당일 연수가 열리자 마자 신청해서 오프라인으로 참석하게 되었다.1. 앰배서더 서울 풀만 호텔처음에는 접...
韩国教育博览会(2026)参观后记
韩国教育博览会(2026)参观后记
偶然通过 Instagram 得知了韩国教育博览会的活动信息。去年因为和别的活动撞期没能去成,所以今年无论如何都想去一趟。于是立刻就进行了提前预约。提前预约者的门票是 8,000 韩元,现场登记则是 15,000 韩元。听熟人说教师可以免费入场,但今年并不是这样。1. 入场券发放这次活动在 COEX...
2022 修订课程地球科学内容预览 - 第3单元 太阳系天体与恒星和宇宙的演化
2022 修订课程地球科学内容预览 - 第3单元 太阳系天体与恒星和宇宙的演化
这次是地球科学浏览的最后一篇。打算来看一下第3单元。1. 内容体系第3单元的内容体系,是从之前《地球科学1》的天体单元中删去了系外行星和生命体探测的内容,新增了原本在《地球科学2》中出现的太阳系模型以及日食和月食。和其他单元相比,内容明显有缩减的感觉。2. 第3单元成就标准一览[12지구03-01]...
国家教育委员会,推进高中学分制修读标准改革
国家教育委员会,推进高中学分制修读标准改革
[本报道是利用直播视频由 AI 制作的报道。]以出勤为中心 vs 反映学业成就……“在没有配套支持对策的情况下敲定制度很危险”国家教育委员会围绕高中学分制修读标准的改革正式展开讨论。围绕是以出勤率为中心,还是同时反映学业成就的争论针锋相对,因此不断有人指出,在制度实施之前必须先建立具体的支持体系。国...
面向教师的教育研究与统计分析培训——第21~30课时整理及心得等
面向教师的教育研究与统计分析培训——第21~30课时整理及心得等
今天想记录一下在面向教师的教育研究与统计分析培训第21~30课时中让我印象深刻的内容,以及一些个人心得。1. logit(对数几率)和逻辑回归分析一开始听到“逻辑回归分析”这个名字,还以为是什么很了不起的东西,结果发现其实就是沿着对数几率(logit)走的线性回归分析。没想到之前学 LLM 时出现过...
抢先看2022修订课程地球科学内容 - 第2单元 地球的历史与韩半岛的岩石
抢先看2022修订课程地球科学内容 - 第2单元 地球的历史与韩半岛的岩石
在上一篇文章中,我们结合习题浏览了第1单元的内容。这次就接着那篇文章,一起来看一下第2单元的内容。1. 内容体系先来看一下第2单元的内容体系。乍一看,会觉得要记的东西相当多。与2015修订课程不同,沉积岩、变质岩、火成岩全部都纳入了。另外,“国立地质公园”这一内容要素也被新加入。虽然每本教材的具体内...

댓글을 불러오는 중...