2013-08-27 6 views
0

Я пытаюсь подогнать кубическую кривую к моей диаграмме рассеяния. Я смог сделать это в минитабе без проблем, но мне трудно установить кубическую нелинейную регрессию для моих данных. мои данные устанавливается как:Кубическая регрессия в R

AGE Value 
3 10 
4 10 
5 11 
5 13 
6 10 
7 9 
8 8 

ответ

2

См ?poly, который (по умолчанию) устанавливает дизайн матрицы готовый ортогональный многочлен заданной степени в диапазоне рентгеновских значений, рука к нему:

df <- read.table(text="AGE Value 
3 10 
4 10 
5 11 
5 13 
6 10 
7 9 
8 8", header=TRUE) 

lm(Value ~ poly(AGE, degree=3), data=df) 

# Call: 
# lm(formula = Value ~ poly(AGE, 3), data = df) 
# 
# Coefficients: 
# (Intercept) poly(AGE, 3)1 poly(AGE, 3)2 poly(AGE, 3)3 
#  10.1429  -2.0026  -2.3908   0.6019 
+0

Или используйте 'polyfit' tho ', который не возвращает информацию о качестве подгонки. –

+0

Или, если вы после (B-) сплайна подходят, вы можете использовать 'bs (AGE, degree = 3)' (из пакета ** splines **) в вашей формуле, установив общий 'df' [ как показано здесь] (http://stackoverflow.com/questions/12925533/quadratic-spline/12938310#12938310). –

+0

@CarlWitthoft - Где я могу найти «полифит»? –

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