2014-02-14 2 views
0

Я сделал полиномиальное модель из 2-х векторов:создание переменной в R наборе данных на основе двух векторов

tint <- c(12, 18.8, 25.5, 21.6) 
text <- c(11.4, 17.1, 22.1, 14.0) 
dT <- tint - text 

func.dT2 <- lm(dT[1:3] ~ poly(text[1:3],2,raw=TRUE)) 

сейчас, я хотел бы использовать эту модель для прогнозирования дТ от других variavbels, чьи число намного больше 3:

predict(func.dT2, text=seq(min(text)-1, max(text)+1, 0.01)) 

но я получаю только первые три значения.

Как использовать func.dT2 для вычисления dT из всех значений в seq (min (текст) -1, max (текст) +1, 0.01)?

спасибо!

+0

Надеюсь, вы знаете, что уместно всего лишь три очка рискованно, и экстраполируя же еще более рискованно? –

+0

спасибо Карлу за комментарий. Я очень хорошо знаю, но это все данные, которые у меня есть, и для этого конкретного случая это будет разумно. Хороший совет, хотя, основываясь на основах, очень важен;) –

ответ

2

Поместите ваши данные в data.frames:

func.dT2 <- lm(dT ~ poly(text,2,raw=TRUE), 
       data=data.frame(dT, text)[1:3,]) 

predict(func.dT2, 
     newdata=data.frame(text=seq(min(text)-1, max(text)+1, 0.01))) 
+0

благодарит Роланда, работает очень хорошо. –

Смежные вопросы