[英]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.