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

如何使用R与dplyr按购车预算条件合并两个数据集

R语言实现符合预算条件的数据集合并

我们需要按照车辆价格≥用户预算的70%且≤用户预算的规则,将UserBudget和AutoMarket两个数据集进行匹配合并,得到符合条件的用户-车辆对应关系。

原始数据集

# 用户预算数据集
UserBudget <- data.frame(user = c("Jon", "Bill", "Maria", "Ben", "Tina"),
                         budget = c(5000, 10000, 20000, 40000, 60000))

# 车辆市场数据集
AutoMarket <- data.frame(
    car = c("Toyota Corolla (2000)", "Ford Focus (2002)", "Hyundai Elantra (2012)", 
            "Kia Forte (2014)", "Mercedes-Benz c250 (2014)","BMW 320I (2016)",
            "Tesla 3 (2018)", "Audi A6 (2019)", "Porsche Macan S (2019)", 
            "Mercedes-Benz c63 AMG (2017)", "Lexus RX 450L (2020)","BMW 740 (2020)","JAGUAR I-Place (2019)"),
    price = c(2500, 5000, 9900, 9999, 18500, 20000, 37000, 41000, 50000, 54000,55000,59000,60000)
)

实现方法

方法1:基础R原生实现

先生成所有用户-车辆的交叉组合,再筛选符合预算条件的记录:

# 创建全量用户-车辆组合
full_combinations <- merge(UserBudget, AutoMarket, all = TRUE)
# 过滤符合预算规则的条目
HappyDriver <- subset(full_combinations, price >= 0.7 * budget & price <= budget)
# 重置行名避免混乱
rownames(HappyDriver) <- NULL

方法2:dplyr工具链实现

如果习惯使用tidyverse生态,用交叉连接加过滤的方式更简洁:

library(dplyr)

HappyDriver <- cross_join(UserBudget, AutoMarket) %>%
  filter(price >= 0.7 * budget, price <= budget) %>%
  relocate(user, budget, car, price) # 调整列顺序与期望结果一致

结果验证

运行上述代码后,得到的HappyDriver与期望数据集完全匹配,输出示例:

print(HappyDriver)

输出内容:

user budget                    car price
1    Jon   5000      Ford Focus (2002)  5000
2   Bill  10000   Hyundai Elantra (2012)  9900
3   Bill  10000        Kia Forte (2014)  9999
4  Maria  20000 Mercedes-Benz c250 (2014) 18500
5  Maria  20000          BMW 320I (2016) 20000
6    Ben  40000           Tesla 3 (2018) 37000
7   Tina  60000    Porsche Macan S (2019) 50000
8   Tina  60000 Mercedes-Benz c63 AMG (2017) 54000
9   Tina  60000      Lexus RX 450L (2020) 55000
10  Tina  60000            BMW 740 (2020) 59000
11  Tina  60000       JAGUAR I-Place (2019) 60000

内容的提问来源于stack exchange,提问作者Arty Art

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:50:53