r - 如何将 do.call() 用于两个以上的参数?
问题描述
使用带有超过 2 个变量的 do.call() 时遇到一些麻烦。
ws.adjustments <- lapply(names(wdata@WS), function(name.ws) {
ws <- wdata@WS[,name.ws]
adjust.idx <- which(name.ws == sensors)
if(length(adjust.idx) == 0) {
adjust.vec <- rep(F, nrow(wdata@WS))
} else if(length(adjust.idx) == 1) {
adjust.vec <- excluded.periods[[adjust.idx]]
} else {
adjust.vec <- do.call('|', excluded.periods[adjust.idx])
}
ws[adjust.vec] <- NA
return(ws)
})
运行上述代码时 do.call() 会产生此错误:
Error in `|`(c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, :
4 arguments passed to '|' which requires 2
3.
do.call("|", excluded.periods[adjust.idx])
2.
FUN(X[[i]], ...)
1.
lapply(names(wdata@WS), function(name.ws) {
ws <- wdata@WS[, name.ws]
adjust.idx <- which(name.ws == sensors)
if (length(adjust.idx) == 0) { ...
如何使 do.call("|") 使用两个以上的变量?
exclude.periods = 一个大列表(4 个元素)
它用于删除配置文件中指定的日期。
解决方案
推荐阅读
- javascript - Ajax成功函数下定义函数的运行延迟
- python - 将实数转换为二进制,反之亦然(在 Python 中)
- swift - searchBar 功能但 TableView 致命错误
- ngfor - 嵌套 ngFor 在大型数据集上的性能
- android - 如何检测 Android 设备的方向?
- c# - 无法找到 TFS 中构建定义的类型或命名空间错误
- javascript - 调试在 nginx 代理后面运行的 React App
- c# - Web 应用程序中的 EF 核心
- java - 在两个不同的端口上运行同一个 JBoss 服务器
- julia - 为什么 Julia 不能在 Atom 中工作?