📜  如何在 R 中过滤向量(1)

📅  最后修改于: 2023-12-03 15:08:46.677000             🧑  作者: Mango

如何在 R 中过滤向量

在 R 中,可以使用多种方式对向量进行过滤。本文将介绍三种常用的方法:使用逻辑向量过滤、使用 which 函数过滤、使用 subset 函数过滤。

使用逻辑向量过滤

逻辑向量是一种布尔型向量,其元素的值只能是 TRUE 或 FALSE。可以使用逻辑向量对向量进行过滤。

# 创建一个向量
v <- c(1, 3, 5, 7, 9, 2, 4, 6, 8, 10)

# 创建一个逻辑向量
logic_vec <- v > 5

# 使用逻辑向量过滤向量
v_filtered <- v[logic_vec]

v_filtered

输出:

[1]  7  9  6  8 10
使用 which 函数过滤

which 函数可以找出向量中满足某个条件的元素下标,然后使用下标对向量进行过滤。

# 创建一个向量
v <- c(1, 3, 5, 7, 9, 2, 4, 6, 8, 10)

# 使用 which 函数过滤向量
v_filtered <- v[which(v > 5)]

v_filtered

输出:

[1]  7  9  6  8 10
使用 subset 函数过滤

subset 函数可以筛选出符合条件的向量,使用方法较为简单,但在数据框等数据类型中使用更为方便。

# 创建一个数据框
df <- data.frame(id = 1:5, name = c("Tom", "Jerry", "David", "Mary", "John"), score = c(80, 90, 85, 95, 92))

# 使用 subset 函数过滤
df_filtered <- subset(df, score > 85)

df_filtered

输出:

  id  name score
2  2 Jerry    90
4  4  Mary    95
5  5  John    92

以上三种方法均常用于对向量进行过滤。实际应用中,可以根据具体情况选择不同的方法。