Быстрый способ распечатать наклон регрессии двух векторов - PullRequest
0 голосов
/ 13 января 2019

Допустим, у меня есть два следующих вектора:

years <- seq(1991, 2000, by = 1)
height <- c(30, 34, 40, 45, 66, 70, 81, NA, 90, 110)

Теперь я хочу выполнить простую линейную регрессию:

lm(formula = height ~ years)

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

Ответы [ 2 ]

0 голосов
/ 13 января 2019

Может быть, это тоже:

years <- seq(1991, 2000, by = 1)
height <- c(30, 34, 40, 45, 66, 70, 81, NA, 90, 110)
df1<-data.frame(Yr=years,Ht=height)

    lmfun<-function(df,yname,xname){
      f<-as.formula(paste0(yname,"~",xname))
      lm.fit<-do.call("lm",list(data=quote(df),f))
      coef(lm.fit) 
    }
    lmfun(df1,yname="Ht","Yr")[2] #or [1] depending on the need

Выход:

     Yr 
8.857353 
0 голосов
/ 13 января 2019

Вы бы сделали:

model <- lm(formula = height ~ years)

model$coefficients[2]

Выход:

   years 
8.857353 

Несколько менее читабельный способ будет также делать напрямую:

lm(formula = height ~ years)$coefficients[2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...