edc*_*505 3 plot gradient r line
我想在R中的散点图上得到线性模型的梯度/斜率值
例如,如果我有一个情节:
x <- 1:10
y <- c(0, 0, 1, 0, 1, 1, 0, 1, 1, 1)
plot(x, y)
abline(lm(y ~ x))
Run Code Online (Sandbox Code Playgroud)
散点图现在有一条线,我需要知道渐变.理想情况下,我想要的是一个可以计算各种x/y组合的渐变的函数,而不是每次都绘制图形.我可以自己创建这个功能,但我仍然坚持如何获得渐变.
使用您的数据和示例
x <- 1:10
y <- c(0, 0, 1, 0, 1, 1, 0, 1, 1, 1)
plot(x, y)
Run Code Online (Sandbox Code Playgroud)
保存您传递给abline的线性模型,这可以在线完成
abline(mod <- lm(y ~ x))
Run Code Online (Sandbox Code Playgroud)
然后mod使用该coef()函数检查模型的系数
coef(mod)
R> coef(mod)
(Intercept) x
0.06667 0.09697
Run Code Online (Sandbox Code Playgroud)
"斜率"是第二个系数.如果你只想提取那个,请将返回的向量子集化coef(),如
coef(mod)[2]
R> coef(mod)[2]
x
0.09697
Run Code Online (Sandbox Code Playgroud)
请注意,我不建议将对象作为参数的一部分分配给另一个函数,就像我上面所做的那样.如果您的代码或脚本变得很大,那么这些东西可能更难以追踪或逐眼发现.我通常更喜欢在自己的行上创建对象.对于上面的例子,这意味着要做
mod <- lm(y ~ x)
abline(mod)
Run Code Online (Sandbox Code Playgroud)
这不是一个主要的区别,但更容易发现mod创建的位置和方式.
| 归档时间: |
|
| 查看次数: |
13642 次 |
| 最近记录: |