gpt4 book ai didi

r - if 函数出错

转载 作者:行者123 更新时间:2023-12-02 04:27:23 24 4
gpt4 key购买 nike

我运行了一个很长的脚本来决定应该使用哪个模型来预测。在对数据的输入和输出样本进行准确性测试后,我创建了一个大的 if函数来查找哪个模型最好,其结果将是“ARIMA”、“Arima.wgt”、“AddHW”、“MultHW”、“AddHWwgt”和“MultHWwgt”。在编写脚本期间,我从每个模型中获得了预测,并且我想使用 if查看我当前编写的函数

if(maxmod<-"ARIMA")
modelf<-ArimaALTfa else
if(maxmod<-"Arima.wgt")
modelf<-ArimaALTfb else
if(maxmod<-"AddHW")
modelf<-HWAbfc else
if(maxmod<-"MultHW")
modelf<-HWMbfd else
if(maxmod<-"AddHWwgt")
modelf<-HWAALTfe else
modelf<-HWMALTff

但我不断收到错误

Error in if (maxmod <- "ARIMA") modelf <- ArimaALTfa else if (maxmod <- "Arima.wgt") modelf <- ArimaALTfb else if (maxmod <- "AddHW") modelf <- HWAbfc else if (maxmod <- "MultHW") modelf <- HWMbfd else if (maxmod <- "AddHWwgt") modelf <- HWAALTfe else modelf <- HWMALTff : 
argument is not interpretable as logical

我尝试过的许多不同的事情都发生过这种情况,例如而不是 modelf<-""我试过View("",title="")modelf<-View("",title="")但它仍然说它不合逻辑...我写的方式有错误还是还有其他问题?

如果需要,可以提供额外的详细信息和代码

最佳答案

您确实需要 switch 功能。

modelf <- switch(
maxmod,
ARIMA = ArimaALTfa,
Arima.wgt = ArimaALTfb,
AddHW = HWAbfc,
MultHW = HWMbfd,
AddHWwgt = HWAALTfe,
HWMALTff
)

您的具体问题是尝试将值分配给 maxmod而不是比较平等。虽然switch语句更好,尝试替换

if(maxmod<-"ARIMA")

if(maxmod == "ARIMA")

maxmod == "ARIMA"返回TRUEFALSE (逻辑值)。

maxmod<-"ARIMA"分配值 "ARIMA"到名为 maxmod 的变量(并且无形地返回该字符串)。

关于r - if 函数出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com