고정 효과 회귀를 코딩하려고하는데 많은 더미 변수가 있습니다. 기본적으로, 내 방정식의 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)
난 (41 개)의 이름 등 "hour.dummy41" "dummy.CDH41"이어야 할 때 = I
다음 오류 얻고
:
을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, ...
I 만 두에 넣어했습니다 순간에 너무 많은 조건을 모델을 피팅에 대한 우려를 무시
이 지표 변수의 출처는 어디입니까? 나는 보통의 관용구가'factor'를 사용한다고 생각합니다. 그래서'y ~ x1 + x2 + factor (hour)'와 같은데, 여기서'hour'는 24 개의 지시자 변수를 생성하기보다는 시간입니다. –