簡體   English   中英

在固定效果回歸中循環瀏覽列名

[英]Loop through column names in Fixed Effects Regression

我正在嘗試編寫固定效果回歸的代碼,但是我有很多虛擬變量。 基本上,我的方程式的RHS有184個變量。 而不是寫出來,我試圖創建一個循環通過每個列(我用數字命名了每個列)。

這是我到目前為止的代碼,但是粘貼不起作用。 使用粘貼可能會使我完全不滿意,但是我不確定該如何處理。 但是,我收到一個錯誤(請參閱下文)。

FE.model <- plm(avg.kw ~ 0 + (for (i in 41:87) {
                    paste("hour.dummy",i,sep="") + paste("dummy.CDH",i,sep="")
                   + paste("dummy.MA",i,sep="") + paste("DR.variable",i,sep="")
              }),
              data = data.reg,
              index=c('Site.ID','date.hour'),
              model='within',
              effect='individual') 
summary(FE.model)

以列名稱為例,當i = 41時,名稱應為“ hour.dummy41”,“ dummy.CDH41”,等等。

我收到以下錯誤:

Error in paste("hour.dummy", i, sep = "") + paste("dummy.CDH", i, sep = "") : non-numeric argument to binary operator

所以我不確定粘貼功能是否不合適,或者是循環。 我似乎找不到一種在R中輕松遍歷列名的方法。

任何幫助深表感謝!

暫時不用擔心是否有太多條件適合模型,您可能想生成一個字符串,然后將其轉換為公式:

#create a data.frame where rows are the parts of the variable names, then collapse it
rhs <- do.call(paste, c(as.list(expand.grid(c("hour.dummy","dummy.CDH"), 41:87)), sep=".", collapse=" + "))
fml <- as.formula(sprintf ("avg.kw ~ %s"), rhs))
FE.model <-pml(flm, ...

我僅在第二行中放入了兩個“虛擬”,但您應該明白

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM