【发布时间】:2021-05-02 06:50:17
【问题描述】:
我正在编写一个函数,其中一个输入是条件。看下面的例子
样本数据集
ab <- matrix(1:100, ncol = 5)
功能
dat 是一个矩阵/数据框(例如ab)
con 是我想在函数内部使用的条件(例如> 50、=< 80 等)
fil_dat <- function (dat, con ) {
fildat <- data[which(rowMeans(dat)"the condition *con* should go here"),]
return(fildat)
}
如何在此处插入条件?此外,必须有其他方法对fildat 进行子集化和派生。我认为使用dplyr::filter 会更容易。但我想不出正确的方法来做到这一点。有人可以帮忙吗?而且,更进一步,我可以一次使用多个条件吗,比如> 50 & <= 80?
编辑:对不起,我之前忘了提这个。如果该函数还可以处理 NULL 条件语句(即无条件),那就太好了。我知道这对于这个玩具示例没有意义,但对于我的实际功能,它确实如此。我也知道我可以在函数内写一个if-loop 来克服这个问题。但如果子集函数本身可以处理这个问题,那就太好了。
【问题讨论】:
标签: r function conditional-statements