我必须检查数据框的所有列中是否有负值。
以下是来自Dataframe列表的DF的结构,它们都具有相同的结构。
FECHA SPX Index MCUDNA Index SX5E Index MXEMSC Index MXME Index
2 2010-12-31 332.636 332.63 242.86 237.44 567.35
3 2011-01-07 334.327 334.327 808.25 234.02 235.26
4 2011-01-14 341.771 341.771 2920.40 244.95 247.43
好的,我必须检查每个数据帧中的所有列是否与FECHA列具有相同的dim,例如,如果FECHA列有273行,SPX INDEX应该具有相同的,但我必须检查是否所有价值是积极的。
我解释一下,vela参数是一个数据帧列表,所有这些都与上一个数据帧具有相同的结构。
这是我的代码:
valorNegativos = function (vela) {
dim_pxlast = dim(vela[[1]])[1]
for(a in 1:length(vela)) {
mutate_all(vela[[a]], funs( ifelse (length(vela[[a]]$. >= 0) == dim_pxlast) , print(paste0("Datos correctos" )), stop("ERROR: Existen datos negativos")))
}
}
在第一行中,我获得了正确的维度,并且使用mutate_all,我遍历所有列,检查所有值是否为正值,然后计算所有正值,并使用ifelse检查它们是否具有相同的维度,如果没有,我运行Stop错误,我停止执行我的程序。
我不知道为什么会发生这种错误。
mutate_impl(.data,dots)中的错误: 评估错误:缺少参数“是”,没有默认值。
答案 0 :(得分:0)
解决了...这是一个错误,因为我没有'关闭ifelse声明......
valorNegativos = function (vela) {
dim_pxlast = dim(vela[[1]])[1]
for(a in 1:length(vela)) {
#mutate_all(vela[[a]], funs( ifelse( sum((vela[[a]]$. > 0) == TRUE) / ncol(vela[a]) == length(vela[[a]]$FECHA), print(paste0("Datos correctos" )), stop("ERROR: Existen datos negativos"))))
mutate_all(vela[[a]], funs( ifelse (length(vela[[a]]$. >= 0) == dim_pxlast , TRUE , stop("ERROR: Existen datos negativos"))))
}
}