对数标度R上的指数拟合

对数标度R上的指数拟合,r,plot,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') a您可以使用lm: dat <- as.data.frame(cbind(a,b)) 拟合线性模型: fit <- lm(log(b) ~ a, data=dat) summary(fit)

这是我的代码:

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')

a您可以使用
lm

dat <- as.data.frame(cbind(a,b))
拟合线性模型:

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 


这对您有帮助吗?

对于基本绘图,您需要从外部拟合数据并添加数据。使用
ggplot2
更容易做到这一点。例如:

dat <- data.frame(x=a,y=b)
library(ggplot2)
ggplot(dat,aes(x=x,y=y))+
  geom_point(size=5) +
  stat_smooth(method='glm')+
  scale_y_log10()

dat R说找不到合适的对象对不起,是我的错!我忘了那行
lines(predict(fit)~dat$a)
dat <- data.frame(x=a,y=b)
library(ggplot2)
ggplot(dat,aes(x=x,y=y))+
  geom_point(size=5) +
  stat_smooth(method='glm')+
  scale_y_log10()