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

R语言新手求助:创建筛选年龄≥25客户的Call数据框方法

R语言筛选年龄≥25的客户数据框

基础R方法

直接用数据框索引筛选符合条件的行就行,不用if/else。假设你的原始数据框叫customer_data(记得替换成你实际的变量名),代码如下:

# 创建仅包含年龄≥25客户的新数据框Call
Call <- customer_data[customer_data$Age >= 25, ]
  • 逗号前的customer_data$Age >= 25会判断每行是否满足年龄条件,返回布尔值(TRUE/FALSE),R会自动保留值为TRUE的行
  • 逗号后留空表示保留所有列,要是只想选特定列,可以列出来,比如customer_data[customer_data$Age >= 25, c("ID", "Gender", "Age")]

tidyverse的dplyr方法(更直观)

如果你习惯用tidyverse系列工具,filter()函数的写法更简洁:

# 第一次用需要先安装dplyr
install.packages("dplyr")
library(dplyr)

# 筛选年龄≥25的行
Call <- customer_data %>% filter(Age >= 25)

%>%是管道符,作用是把前面的customer_data传给后面的filter()函数,filter()直接按条件筛选行,新手更容易理解。

为什么if/else不行?

你之前用if/else得到标记列,是因为if/else是对单个值做判断,逐行返回TRUE/FALSE,最终生成的是和原数据框行数一致的新列,而不是筛选出符合条件的行。筛选行需要的是基于布尔值向量选择行索引,上面两种方法都是干这个的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 20:12:06