2016-03-01 2 views
0

Я проверил везде, и люди ссылаются на примеры, которые я не могу понять (да, я немного замедлился). Может ли кто-нибудь объяснить мне, как построить логарифмическую линию тренда в R?Как построить линию тренда на графике в R

Вот рабочий пример:

myds <- c(23.0415,13.1965,10.4110,12.2560,9.5910,10.7160,9.9665,8.5845,8.9855,8.8920,10.3425,9.3820,9.0860,9.6870,8.5635,9.0755,8.5960,7.9485,8.3235,8.1910) 
plot(myds) 

Я не могу найти простой способ применения регрессии трендовые. Меня интересует, в частности, логарифмическая и линейная линии тренда. Можно ли обойтись без подключения каких-либо новых пакетов?

Добрый день, пожалуйста, будьте добры, чтобы уточнить!

+0

тренд строится между двумя наборами переменных, ваш пример имеет только один. вы можете приступить к работе здесь http://www.statmethods.net/graphs/scatterplot.html – katya

+0

@katya справа! другой набор равен 'x <- c (1:20)'. Я уточню свой вопрос. Спасибо за уточнение. – LoomyBear

+0

Под «логарифмической линией тренда», что вы имеете в виду, точно? Линейная регрессия $ y $ на $ \ ln (x) $ или что-то еще? –

ответ

2

Поскольку у вас не хватало некоторых точек данных, я взял то, что вы предоставили: шесть очков.

редактировать - теперь полный пример был доступен

  1. линия тренда только регресс, и регрессии выполняются наиболее простым способом, как это: a<-lm(outcome~predictor) - в этом примере объект а будет держать ваши регрессионные параметры. Чтобы получить значения вашей новой модели тренда, просто используйте predict(model_name), или в вашем случае predict(a)

  2. Добавление линии в участок мертво просто. Просто скажите lines(b), где b указывает линию, которую вы хотите построить, после того, как вы использовали функцию plot().

Чтобы обернуть его:

[![myds <- c(23.0415,13.1965,10.4110,12.2560,9.5910,10.7160,9.9665,8.5845,8.9855,8.8920,10.3425,9.3820,9.0860,9.6870,8.5635,9.0755,8.5960,7.9485,8.3235,8.1910) 
x <- (1:length(myds)) 
plot(myds) 

#make the main plot 
plot(x,myds,ylim=c(5,30),xlim=c(0,20)) 

#add linear trend 
lines(predict(lm(myds~x)),col='green') 

#one more trend 
lines(predict(lm(myds~log(x))),col='red')][1]][1] 

resulting plot image

+0

благодарит за ваш ответ! пожалуйста, уточните мой обновленный ответ с кодом рабочего кода – LoomyBear

+0

, пожалуйста, объясните, что именно здесь происходит? почему вы используете эти функции? – LoomyBear

+0

@LoomyBear, какая часть вас смущает? – coulminer

2

Поскольку вы не предоставили воспроизводимые примеры, я выложу некоторые ссылки, которые я думаю, может помочь вам:

Примером простой, линейной линии тренда здесь: http://www.r-tutor.com/elementary-statistics/quantitative-data/scatter-plot

Кроме того, там был поток на это снова на SO: How do I add different trend lines in R?

Использование ggplot бы сделать это немного проще, так как вы можете использовать smooth functions.

+0

за ваш ответ! Я обновил вопрос с помощью кода рабочего примера. Я проверю ваши URL за это время! – LoomyBear