📅  最后修改于: 2023-12-03 15:08:46.677000             🧑  作者: Mango
在 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 函数可以找出向量中满足某个条件的元素下标,然后使用下标对向量进行过滤。
# 创建一个向量
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 函数可以筛选出符合条件的向量,使用方法较为简单,但在数据框等数据类型中使用更为方便。
# 创建一个数据框
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
以上三种方法均常用于对向量进行过滤。实际应用中,可以根据具体情况选择不同的方法。