2016-07-02 2 views
0

Я получаю два вектора в качестве выхода из анализа R, соответственно>Datatype для линейной модели R

[1] "216" "217" "218" "219" "220" "221" "222" "223" "224" "225" "226" 
[1] 10014733 10014665 10014588 10014504 10014415 10014321 10014227 10014145 10014076 10014014 10013963 

Давайте назовем первый оном, а второй б. Когда я лм (б ~ а), он выбрасывает

Call: 
lm(formula = b ~ a) 

Coefficients: 
(Intercept)   a217   a218   a219   a220   a221   a222   a223   a224 
10014733.4  -68.1  -145.8  -229.8  -318.5  -412.8  -506.4  -588.2  -657.4 
     a225   a226 
    -719.4  -770.8 

Я просто хочу, чтобы соответствовать простой линии, которая в дальнейшем может быть построена с abline ... Является ли это проблемой структуры данных?

Спасибо!

+1

Похоже, что 'a' является фактором, а не числовым. Сделайте как 'a', так и' b' числовые, а затем используйте 'pred' – Adrian

ответ

1

Попробуйте запустить a <- as.numeric(as.character(a)) или a <- as.numeric(levels(a))[a] перед регрессом. В настоящее время a настроен как фактор, и регрессионное лечение является таким образом, что каждому значению в a присваивается его собственный коэффициент, тем самым предоставляя вам ступенчатый ответ вместо прямой.

+2

чертовски, это была глупая ошибка. Большое спасибо. –

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