如何使用poly R函数在for循环中更改多项式阶数?

问题描述 投票:1回答:1

我想通过尝试不同的多项式来拟合回归,并尝试运行此循环:

for (p_order  in 1:9) {
  assign(paste("RD0", p_order, sep = ""),  electricity_price ~ d1 + gas_price + coal_price +
  oil_price + EUA +  weekday + month + median_windspeed1 + 
  median_windspeed2 +   median_windspeed3 +   median_windspeed4 + 
  sun1 + sun2 + sun3 + sun4 + median_temp1 +   median_temp2 + 
  median_temp3 + median_temp4 + poly(as.numeric(date), p_order, raw=TRUE) + time) 
}

尽管它正确创建了变量的名称(RD01,RD02等),但它没有存储多项式的正确顺序(1,2等),而是存储了“ p_order”。例如,>

> RD04
electricity_price ~ d1 + gas_price + coal_price + oil_price + 
    EUA + weekday + month + median_windspeed1 + median_windspeed2 + 
    median_windspeed3 + median_windspeed4 + sun1 + sun2 + sun3 + 
    sun4 + median_temp1 + median_temp2 + median_temp3 + median_temp4 + 
    poly(as.numeric(date), p_order, raw = TRUE) + time
> RD07
electricity_price ~ d1 + gas_price + coal_price + oil_price + 
    EUA + weekday + month + median_windspeed1 + median_windspeed2 + 
    median_windspeed3 + median_windspeed4 + sun1 + sun2 + sun3 + 
    sun4 + median_temp1 + median_temp2 + median_temp3 + median_temp4 + 
    poly(as.numeric(date), p_order, raw = TRUE) + time

有人可以解释一下为什么以及如何解决这个问题吗?

谢谢!

我想通过尝试不同的多项式来拟合回归,然后尝试运行此循环:for(p_order in 1:9){Assign(paste(“ RD0”,p_order,sep =“”),electric_price〜d1 + gas_price + ...

r loops for-loop polynomials
1个回答
0
投票

首先创建公式,然后分配它。我将发布一个简化的示例。

© www.soinside.com 2019 - 2024. All rights reserved.