我是R的初学者,负责水质数据。请原谅我的格式错误。我想在我的数据集上运行“nls”。运行脚本:
testingQModel<-nls(GR ~ GRm * (1-Kq/Q), data = testingQ, start = list(Kq = min(testingQ$Q), GRm = max(testingQ$GR)))
我收到以下错误:
警告讯息: 1:在min(x)中:min没有非缺失参数;返回Inf 2:在max(x)中:max没有非缺失参数;返回-Inf
数据集没有NA并且都是数字。我还使用range(testingQ, na.rm = TRUE)
运行range(testingQ, na.rm = FALSE)
只是为了试一试,它可以在数据集中返回最大值和最小值。我不知道还有什么可以尝试的。
期待有人的解决方案!感谢。
答案 0 :(得分:1)
总结你似乎已经解决并写在评论中的内容:
我的提示: 总结,最大和最小是R的痛苦,因为他们不能很好地处理NA或完全空输入。 因此,请始终注意他们的输入向量以仔细检查是否合理,或者将其输入分配给变量并检查它。
答案 1 :(得分:0)
我同意smci,像min这样的汇总函数在R中很痛苦。
在hablar软件包中有一个解决方案,解决了给定空向量时min / max返回Inf的问题。函数s将空向量(NULL)转换为NA。
问题
void
解决方案
int
免责声明自从我编写了该程序包以来,我对这种解决方案就有偏见。