У меня большой набор данных с несколькими переменными, одна из которых является переменной состояния, закодированной 1-50 для каждого состояния. Я хотел бы запустить регрессию из 28 переменных на оставшихся 27 переменных набора данных (всего 55 переменных), и для каждого состояния.
Другими словами, запустите регрессию переменной1 на ковариате1, ковариате2, ..., ковариате27 для наблюдений, где состояние == 1. Затем я хотел бы повторить это для variable1 для состояний 2-50 и повторить весь процесс для variable2, variable3, ..., variable28.
Я думаю, что написал правильный код R для этого, но следующее, что я хотел бы сделать, - это извлечь коэффициенты, в идеале, в матрицу коэффициентов. Может ли кто-нибудь помочь мне с этим? Вот код, который я написал до сих пор:
for (num in 1:50) {
#PUF is the data set I'm using
#Subset the data by states
PUFnum <- subset(PUF, state==num)
#Attach data set with state specific data
attach(PUFnum)
#Run our prediction regression
#the variables class1 through e19700 are the 27 covariates I want to use
regression <- lapply(PUFnum, function(z) lm(z ~ class1+class2+class3+class4+class5+class6+class7+
xtot+e00200+e00300+e00600+e00900+e01000+p04470+e04800+
e09600+e07180+e07220+e07260+e06500+e10300+
e59720+e11900+e18425+e18450+e18500+e19700))
Beta <- lapply(regression, function(d) d<- coef(regression$d))
detach(PUFnum)
}