可以说我有以下两个向量:
years <- seq(1991, 2000, by = 1)
height <- c(30, 34, 40, 45, 66, 70, 81, NA, 90, 110)
我现在想执行一个简单的线性回归:
lm(formula = height ~ years)
我所需要的只是回归线的斜率以获得趋势值。 我有什么快速的方法或函数可以给我两个向量的回归线斜率吗?
答案 0 :(得分:1)
您会这样做:
model <- lm(formula = height ~ years)
model$coefficients[2]
输出:
years
8.857353
一种不太易读的方式也可以直接进行:
lm(formula = height ~ years)$coefficients[2]
答案 1 :(得分:0)
也许也是:
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