【发布时间】:2021-03-03 20:20:18
【问题描述】:
我有一个需要两个向量的函数
- 逻辑规则向量
pat - 数据向量
dat。
该函数检查所有规则是否已按正确顺序执行
dat <- 1:100
pat <- c( "dat<4 & dat>2", "dat>6", "dat>99" )
yes.seq.rule <- function(pat , dat){
lv <- rep(F,length(pat))
k <- 1
for(i in 1:length(dat)){
res <- eval(parse(text = pat[k]))[i]
if(res)
{
lv[k] <- TRUE
k <- k+1
}
if(k==length(pat)+1) break
}
return( all(lv) )
}
函数返回真/假
here 用完全相同的函数问了完全相同的问题,唯一的区别是在这个问题中,向量pat 是逻辑规则
问题: 有没有可能让这个功能更快
【问题讨论】: