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

如何在R中按指定经验级别筛选数据或创建数据框?

筛选指定经验级别的薪资数据方法

首先你用group_by没效果是因为这个函数是用来分组统计的(比如按经验级别算平均薪资),不是用来筛选行数据的,得用专门的筛选工具。下面给你两种常用的方法:

方法一:基础R(无需额外安装包)

假设你的数据集叫df(如果名字不一样,替换成你实际的数据集名称),直接用逻辑索引筛选:

  • 保留所有列(经验级别+薪资):
en_salary <- df[df$experience_level == "EN", ]
  • 只保留薪资列:
en_salary <- df[df$experience_level == "EN", "salary"]

解释:df$experience_level == "EN"会生成一个逻辑向量,标记哪些行的经验级别是EN,用这个向量去索引数据集,就能提取出符合条件的行。

方法二:用dplyr包(tidyverse生态,代码更易读)

先加载dplyr包(如果没装过,先运行install.packages("dplyr")):

library(dplyr)

然后用filter()函数筛选:

  • 保留所有列:
en_salary <- df %>% filter(experience_level == "EN")
  • 只保留薪资列:
en_salary <- df %>% filter(experience_level == "EN") %>% select(salary)

解释:%>%是管道符,把前面的数据集传递给后面的函数,filter()负责筛选符合条件的行,select()用来选择需要的列。

验证结果

你可以运行下面的代码,确认筛选后的数据集只有EN级别的数据:

table(en_salary$experience_level)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 12:30:43