如何在功能中保存过滤文件?

时间:2019-02-15 17:58:43

标签: r function

我正在编写以下函数:

filter.na <- function(x, threshold) {
    x[(rowSums(is.na(x)))/ncol(x) > threshold,]
}

我想将过滤后的文件另存为csv。因此,我的想法是创建一个新的函数参数以保存过滤的文件,我们将其命名为csv.save,其中默认值应为null

我不知道该怎么做,有人可以帮忙吗?

1 个答案:

答案 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")