rollapply错误登录';由';单行data.frame的参数

rollapply错误登录';由';单行data.frame的参数,r,R,对于以下两个数据帧: histdevs <- data.frame(a=c(3,8,2), b=c(1,4,6), c=c(6,1,5), d=c(2,4,8), e=c(5,1,5)) newdatadevs <- data.frame(a=c(3), b=c(4), c=c(32), d=c(1), e=c(6)) 当然,我们也欢迎任何可以让我做同样事情的替代函数。上面的代码使用宽度1,因此它不执行滚动计算,因此不需要rollapply。另外,all似乎毫无意义,因为它只向匿名

对于以下两个
数据帧

histdevs <- data.frame(a=c(3,8,2), b=c(1,4,6), c=c(6,1,5), d=c(2,4,8), e=c(5,1,5))
newdatadevs <- data.frame(a=c(3), b=c(4), c=c(32), d=c(1), e=c(6))

当然,我们也欢迎任何可以让我做同样事情的替代函数。

上面的代码使用宽度1,因此它不执行滚动计算,因此不需要
rollapply
。另外,
all
似乎毫无意义,因为它只向匿名函数传递一个值。也许你想要的是
sapply(DF,函数(x)as.numeric(x>。| x<…)
,或者你的意图是进行滚动计算,但在这种情况下,不清楚需要什么。啊,是的。宽度设置不应为1,而应为8。我基本上想确保每个值和连续的8都不是离群值。我正在编写休哈特过程控制类型检查代码。请以可复制的形式陈述您的问题,以便其他人可以复制该消息。我想我已经这样做了,或者至少提供了更多信息。请阅读以下内容:
for (i in 1:5) {
Over <- mean(histdevs[,i])+3*sd(histdevs[,i])
Under <- mean(histdevs[,i])-3*sd(histdevs[,i])
checkover<-rollapply(newdatadevs[,i],3,function(x)(ifelse(all(x>Over),1,0)))
checkunder<-rollapply(newdatadevs[,i],3,function(x)(ifelse(all(x<Under),1,0)))
}
Error in seq.default(start.at, NROW(data), by = by) : 
wrong sign in 'by' argument