我有一个函数fun
,它检查a, b
的多个条件,如果所有条件都满足,函数应该返回TRUE
,否则应该返回FALSE
。
a = 1
b = 0
fun <- function(a, b){
all(a < 1,
b < 1,
na.rm = TRUE)
}
fun(a, b)
这个函数很有用,但是,如果我现在使用向量,all()
当然不会保持向量的形式,而是返回一个TRUE
或FALSE
。
我希望有一个功能,工作原理与以下一个相同:
a = 1:2
b = 0:1
funV <- function(a, b){
a < 1 & b < 1
}
funV(a, b)
但是没有链接&
,并且它还应当对缺失值起作用。
3条答案
按热度按时间ikfrs5lh1#
pmin
+as.logical
=矢量化的all()
。基准测试
x一个一个一个一个x一个一个二个x
4c8rllxm2#
我们可以使用
Vectorize()
来创建一个矢量化函数。Vectorize()
在幕后使用mapply()
。由reprex package(v2.0.1)于2023年2月14日创建
laawzig23#
使用
mapply
: