# 创建一个数据框
df <- data.frame(x = c(1, 2, 3, 4, 5), y = c("a", "b", "c", "d", "e"))
# 定义函数subset_if
subset_if <- function(data, condition) {
# 如果条件为TRUE,返回子集;否则返回原始数据集
if (condition) {
return(subset(data))
} else {
return(data)
}
}
# 使用函数筛选数据框
subset_if(df, condition = TRUE) # 返回完整子集
subset_if(df, condition = df$x > 3) # 返回x大于3的子集
subset_if(df, condition = df$y %in% c("a", "b", "c")) # 返回y等于a, b, 或c的子集
该函数允许在特定条件下进行子集筛选,提高了R数据分析的灵活性。