我正在Windows 10 Pro机器上用R构建一些个人软件包。我正在运行一个包,它是单个函数的集合,其中一个main函数调用所需的内容。当执行调用comp_hc_forz_front
函数时,我遇到了Error Ops.POSIXt(left, right) : '&' not defined for POSIXt objects
错误。
当main函数调用这个函数时,这个函数应该向一个框架中添加一个列。在这个调用之前,我尝试将该框架导出到全局环境,该框架没有问题。
此外,如果我尝试在全局环境中调用comp_hc_forz_front
函数,一切都很好,我得到了新的列,其中包含所有计算的值。
这是函数
comp_hc_forz_front <- function(n_reynolds=NULL, k_air=NULL, height_modulo=1, width_modulo=1) {
sup_modulo <- height_modulo*width_modulo
Lc <- sup_modulo / (2*(height_modulo+width_modulo))
value <- k_air/Lc * (2+0.41*(n_reynolds^0.55)) * sup_modulo
return(value)
}
这是main函数内部的调用,
db$hc_forz_front <- comp_hc_forz_front(n_reynolds=db$n_reynolds, k_air=db&k_air, height_modulo=height_modulo, width_modulo=width_modulo)
我没有在网上找到太多,我不能理解POSIX和一个函数之间的联系,这个函数向一个嵌套框添加一些值。我检查了点阵,所有的输入数据都被确认为是双精度的。
为什么函数在主函数之外工作,而不是在主模拟期间工作,这个错误是关于什么的?
提前感谢您
我仔细检查了函数,重新构建了包,在for循环中执行了计算,传递了向量的每个值。反正我是犯了错。
1条答案
按热度按时间ou6hu8tu1#
您的代码中有一个错误的&符号: