我正在编写以下函数:
filter.na <- function(x, threshold) {
x[(rowSums(is.na(x)))/ncol(x) > threshold,]
}
我想将过滤后的文件另存为csv。因此,我的想法是创建一个新的函数参数以保存过滤的文件,我们将其命名为csv.save
,其中默认值应为null
我不知道该怎么做,有人可以帮忙吗?
答案 0 :(得分:2)
也许这就是您想要的。
filter.na <- function(x, threshold, csv.save = FALSE, filename = NULL) {
y <- x[(rowSums(is.na(x)))/ncol(x) > threshold,]
if (csv.save){
write.csv(y, filename)
}
return(y)
}
如果要保存csv文件,请设置csv.save to TRUE
并在使用该函数时为filename
参数提供文件名,如下例所示。
x <- data.frame(a = c(NA, NA, 1),
b = c(1, 2, 3),
c = c(NA, NA, 2))
filter.na(x, 0, csv.save = TRUE, "test.csv")