现在位置: 首页 > R 教程 > 正文

R subset() 函数 - 数据筛选

R 语言实例 R 语言实例

R subset() 函数用于从数据框中按条件筛选数据。

subset() 的语法比使用 [ ] 方括号筛选更简洁直观。

subset() 函数语法格式如下:

subset(x, subset, select)

参数说明:

  • x 数据框。

  • subset 行筛选条件(逻辑表达式)。

  • select 列筛选,可指定保留哪些列。

实例

# 创建数据框
df <- data.frame(
  姓名 = c("张三", "李四", "王五", "赵六", "钱七"),
  年龄 = c(25, 30, 28, 35, 22),
  成绩 = c(88, 92, 76, 85, 90),
  城市 = c("北京", "上海", "北京", "广州", "上海"),
  stringsAsFactors = FALSE
)

# 筛选成绩 >= 85 的学生
high_scores <- subset(df, 成绩 >= 85)
print("成绩 >= 85:")
print(high_scores)

# 多条件筛选 AND
print("北京且成绩 >= 80:")
print(subset(df, 城市 == "北京" & 成绩 >= 80))

# 筛选列
print("只显示姓名和成绩:")
print(subset(df, select = c(姓名, 成绩)))

执行以上代码输出结果为:

[1] "成绩 >= 85:"
  姓名 年龄 成绩 城市
1 张三   25   88 北京
2 李四   30   92 上海
4 赵六   35   85 广州
5 钱七   22   90 上海
[1] "北京且成绩 >= 80:"
  姓名 年龄 成绩 城市
1 张三   25   88 北京
[1] "只显示姓名和成绩:"
  姓名 成绩
1 张三   88
2 李四   92
3 王五   76
4 赵六   85
5 钱七   90

R 语言实例 R 语言实例