r - 对数刻度 R 上的指数拟合

标签 r plot

这是我的代码:

a<-c(0.83, 1.67, 2.5, 3.33,6.39)
b<-c(34252553.89, 34430947.5, 36494798.86, 66156794.56, 248698700.1)
plot(a,b)
plot(a,b, log='y')

现在我想为我的绘图添加指数拟合(看起来应该是线性的,具有对数标度)

我该怎么做?

最佳答案

你可以使用lm:

dat <- as.data.frame(cbind(a,b))

绘制数据:

plot(log(b)~a, data=dat)

拟合线性模型:

fit <- lm(log(b) ~ a, data=dat)
summary(fit)

Call:
lm(formula = log(b) ~ a, data = dat)

Residuals:
       1        2        3        4        5 
 0.27207 -0.04616 -0.30751 -0.03222  0.11383 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 16.75764    0.20360   82.31 3.95e-06 ***
a            0.38502    0.05798    6.64  0.00696 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.2481 on 3 degrees of freedom
Multiple R-squared: 0.9363,     Adjusted R-squared: 0.9151 
F-statistic: 44.09 on 1 and 3 DF,  p-value: 0.006959 

预测值并绘制它们:

lines(predict(fit)~dat$a)

enter image description here

这对你有帮助吗?

关于r - 对数刻度 R 上的指数拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17063318/

相关文章:

R:通过在数据框中的条件查找同一列中大于或小于另一个给定数字的所有数字来创建新列

r - 似乎无法在 R 中使用 dev.off() 关闭设备

plot - 如何更改 Julia 图中刻度的精度

r - ggplot2:用 POSIXct 时间戳数据遮蔽隔天

r - 带有数据框列的 ggplot

R:为图中的轴区域添加大括号

R:按组,检查对于一个 var 的每个唯一值,是否至少有一个观察结果,其中 var 的值等于另一个 var 的值

r - 计算R中日期范围内的天数

r - 在聚合上使用 Order(在单个语句中)

Python:如果我有 x、y 和 z 作为某些参数的函数,如何绘制通用 3D 对象?