У меня есть набор данных, который имеет имена, значение 1 и значение 2. Мне нужно запустить регрессию и получить t-статистику для каждого из имен. Я получил помощь в StackOverflow при построении линейной модели. Я заметил, что иногда я получаю данные 0. Все в порядке, и я хочу, чтобы модель продолжала работать, а не бомбить. Однако, когда там находятся 0, линейная модель бомб.Ошибка в линейной модели при значениях 0
v1<-rnorm(1:50)
v2<-rnorm(1:50)
data<-data.frame(v1,v2)
data[1:50,"nm"]<-"A"
data[50:100,"nm"]<-"B"
data[50:100,"v1"]<-0
data[50:100,"v2"]<-0
data<-data[c("nm","v1","v2")]
## run regression and generate universe
plyrFunc <- function(x){
mod <- lm(v1~v2, data = x)
return(summary(mod)$coefficients[2,3])
}
lm <- ddply(data, .(nm), plyrFunc)
Как вы можете видеть, для названия B, так как все 0, модель бомб. Я не могу просто удалить все 0, потому что часто значения действительно равны 0.
Я не знаю, как редактировать приведенный выше код, чтобы он продолжал двигаться.
Может ли кто-нибудь сообщить мне? Спасибо!