You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按SchoolID为每位学生匹配并重复Distance列值

匹配学生对应学校距离的解决方案

你可以用以下两种常用方法实现需求,将rep中的Distance根据SchoolID匹配到stud的每条学生记录中:

方法一:基础R的merge函数

使用基础R自带的merge函数进行左连接,确保保留所有学生记录:

# 执行左连接匹配
result <- merge(stud, rep, by = "SchoolID", all.x = TRUE)

# 查看结果
print(result)

注:all.x = TRUE参数会保留stud里的所有条目,对于rep中没有对应SchoolID的学生(比如SchoolID=5的Kobe和Shaq),Distance列会填充为NA。

方法二:dplyr包的left_join函数

如果习惯使用tidyverse工具链,可以用dplyr的left_join实现更直观的管道操作:

# 先加载dplyr包(若未安装需先运行install.packages("dplyr"))
library(dplyr)

# 通过管道完成匹配
result <- stud %>%
  left_join(rep, by = "SchoolID")

# 查看结果
print(result)

注:left_join默认保留左表(stud)的所有记录,自动匹配右表(rep)的对应数据,无匹配项时填充NA。

最终结果示例

运行上述代码后,result数据框会呈现如下结构:

SchoolID Student Name Distance
1         1          Jay      164
2         1        Karen      164
3         1        Jorge      164
4         2         Jonas      157
5         2          Leo      157
6         3         Pedro      302
7         4         Carol      505
8         4         Julia      505
9         4          Adam      505
10        5          Kobe       NA
11        5          Shaq       NA

内容的提问来源于stack exchange,提问作者Pedro Leo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 04:56:01