2014-11-10 5 views
2

У меня есть регрессия в R, при попытке установить abline на график ничего не происходит, не появляется сообщение об ошибке.Abline не появится в R

Мне пришлось лог преобразовывать данные, поэтому мне интересно, если это проблема? Данные обычно не распространяются, но нас еще попросили выполнить регрессию.

Вот что я пытался до сих пор:

alldata<-read.csv(file.choose(),header=T) 

attach(alldata) 

plot(weight.g,wingspan.mm,log="xy") 

abline(lm(wingspan.mm~weight.g)) 

fit1<-lm(wingspan.mm~weight.g) 

> summary(fit1) 

fit2<-lm(log(wingspan.mm)~log(weight.g)) 

plot(fit2) 

plot(weight.g,wingspan.mm,log="xy") 

abline(fit2) 

abline(lm(log(wingspan.mm)~log(weight.g))) 

Может кто-нибудь место, где я неправильно?

Спасибо, Кейт

+1

Пожалуйста, предоставьте свои данные с помощью 'dput (alldata)'. Кроме того, 'file.choose()' не воспроизводится, поэтому лучше передать файл пути файла 'read.csv()'. Кроме того, линейная регрессия не предполагает, что данные следуют за нормальным распределением (но это вопрос, который лучше обсуждается при перекрестном проверке). – davechilders

ответ

5

abline не будет строить линии регрессии по лог-трансформированных сюжет.

Например, это будет только сюжет точки, а не линии регрессии

plot(speed~dist, cars, log="xy") 
abline(lm(speed~dist, cars)) 

Чтобы обойти эту проблему с помощью untf параметра

plot(speed~dist, cars, log="xy") 
abline(lm(speed~dist, cars), untf=T) 

От ?abline:

Если untf истинно, и одна или обе оси преобразуются в логарифмически, тогда кривая рисуется corr реагируя на линию в исходных координатах, иначе линия преобразуется в преобразованную систему координат

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