Я делаю множественную одномерную линейную регрессию из базы данных с номинальной и непрерывной переменной.Я использую функцию цикла, найденную в StackOverflow.
Здесь код:
y<- data.frame(final1[-17])
x <- data.frame(final1$other$VO2.max)
out <- data.frame(NULL) # create object to keep results
for (i in 1:length(y)) {
m <- summary(lm(y[,i] ~ x[,1])) # run model
out[i, 1] <- names(y)[i] # print variable name
out[i, 2] <- m$coefficients[1,1] # intercept
out[i, 3] <- m$coefficients[2,4] # pvalue
out[i, 4] <- m$coefficients[2,1] # Estimate or beta value
out[i, 5] <- m$coefficients[2,2] # standard error of the estimate
}
names(out) <- c("y.variable", "intercept", "p.value","Estimate.beta","Std.Error")
out
Когда я использую базу данных только с числовыми переменными, никаких проблем не возникает.С номинальными переменными я получаю эту ошибку:
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
NA/NaN/Inf in 'y'
В моей базе данных нет пропущенных значений в независимой переменной, только некоторые пропущены в зависимой переменной.Мне нравится эта функция и способ запуска и представления результатов одномерного, и я хотел бы создать окончательную таблицу с номинальными и числовыми предикторами.
Что мне делать, запускать только числовые переменные и одну за другойноминальные переменные?
Заранее спасибо