В отсутствие str () для модели или данных, предлагаемых модели, вот мое предположение относительно этого сообщения об ошибке:
predict( model , newdata )
"Error in eval(expr, envir, enclos) : object 'ModelResponse' not found"
Я предполагаю, что вы создали объект модели с именем "model""и что ваша исходная переменная (левая часть формулы (в исходном обращении к lm) называлась" ModelResponse ", и что вы затем назвали столбец в newdata с тем же именем. Но что вы должны сделали, пропустили столбцы «ModelResponse» (потому что это то, что вы предсказываете) и поместили в «Model_Predictor1», Model_Predictor2 »и т. Д., Т. Е. Все имена в правой частиформула, заданная для lm ()
Функция coef () позволит вам извлечь информацию, необходимую для переноса модели.
mod.coef <- coef(model)
mod.coef
Поскольку вы проявили интерес к пакету rms / Hmisccombo Function
, здесь он использует справочный пример из ols и сравнивает вывод с извлеченной функцией и методом rms Predict
. Обратите внимание на заглавные буквы, так как они предназначеныd для работы с пакетными эквивалентами lm
и glm(..., family="binomial")
и coxph
, которые в среднеквадратичных значениях становятся ols
, lrm
и cph
.
> set.seed(1)
> x1 <- runif(200)
> x2 <- sample(0:3, 200, TRUE)
> distance <- (x1 + x2/3 + rnorm(200))^2
> d <- datadist(x1,x2)
> options(datadist="d") # No d -> no summary, plot without giving all details
>
>
> f <- ols(sqrt(distance) ~ rcs(x1,4) + scored(x2), x=TRUE)
>
> Function(f)
function(x1 = 0.50549065,x2 = 1) {0.50497361+1.0737604* x1-
0.79398383*pmax(x1-0.083887788,0)^3+ 1.4392827*pmax(x1-0.38792825,0)^3-
0.38627901*pmax(x1-0.65115162,0)^3-0.25901986*pmax(x1-0.92736774,0)^3+
0.06374433*x2+ 0.60885222*(x2==2)+0.38971577*(x2==3) }
<environment: 0x11b4568e8>
> ols.fun <- Function(f)
> pred1 <- Predict(f, x1=1, x2=3)
> pred1
x1 x2 yhat lower upper
1 1 3 1.862754 1.386107 2.339401
Response variable (y): sqrt(distance)
Limits are 0.95 confidence limits
# The "yhat" is the same as one produces with the extracted function
> ols.fun(x1=1, x2=3)
[1] 1.862754
(я узналисходя из опыта, для функций ограниченного кубического сплайна, приходящих из среднеквадратичного значения, необходимо добавить пробелы и возврат каретки для улучшения читабельности.)