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

如何用dplyr筛选满足5个变量中至少3个偏好条件的行?

用dplyr筛选满足至少3个偏好条件的行

核心思路是把每个变量是否匹配偏好值的判断转化为数值(TRUE=1,FALSE=0),求和后筛选总和≥3的行即可,给你具体实现代码:

首先定义各变量的偏好值(根据你的实际需求替换):

# 替换成你的实际偏好值
pref_mobile <- "你的移动设备偏好值"
pref_budget <- "你的预算偏好值"
pref_car <- "Audi"  # 比如你提到的Car brand偏好Audi
pref_age <- "你的年龄区间偏好值"

然后用dplyr的filter函数筛选,注意如果变量名带空格(比如Mobile device),要用反引号把变量名包裹起来:

library(dplyr)

filtered_data <- 你的数据集名称 %>%
  filter(
    (`Mobile device` == pref_mobile) +
    (Budget == pref_budget) +
    (`Car brand` == pref_car) +
    (Age == pref_age) >= 3
  )

原理很直白:R里逻辑值参与数值计算时,TRUE会被转为1,FALSE转为0。四个条件的和≥3,就代表至少有3个变量匹配了你的偏好值,这样就能精准筛选出目标子集。

举个例子:某一行数据里,Mobile device匹配偏好、Car brand是Audi、Age匹配偏好,哪怕Budget不匹配,总和是3,也会被保留下来。

内容的提问来源于stack exchange,提问作者Fernando A Fregoso Ocampo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:12:09