r - R中basicTrendline包的功率回归
问题描述
我想为我的水质分析执行一个幂回归模型。在其中一个部分中,我有这两个系列数据:
Q= 0.7409845 1.2736854 0.0713900 1.5316926 1.4607059 0.6124793 1.5902551 1.7286422
1.6547936 1.6088377 1.6054299 1.7810355 1.4429110 1.1905836 2.2374064 1.3004641
1.7137979 1.6578471 1.6386083 1.0181250
Cl= 1.6863990 0.9932518 1.7749524 1.1631508 2.0918641 0.9162907 1.1631508 1.3862944
1.2809338 1.0647107 2.3978953 1.4350845 1.6677068 1.8245493 1.7578579 1.6677068
1.4816045 1.3862944 1.2527630 1.3862944
我想像在 Excel 中执行的那样设置功率回归: 在此处输入图像描述
因此,请在 R 的图中显示方程、平方 R 和回归线。我只知道这项工作的基本趋势线包,它适用于线性模型,但适用于功率,不。
library(basicTrendline)
Q = log(gol$debi)
Cl = log(gol$Cl)
trendline(x = Q,y = Cl, model ="power2P",show.pvalue = F
,ePos.x = "topleft",eDigit = 3,CI.level = 0.95,xlab = "Q",ylab = "Cl"
,type="p",Pvalue.corrected = F)
当我运行它时它显示了这条消息,而我的数据都没有低于零:
Error in trendline_summary(x = x, y = y, model = model, Pvalue.corrected = Pvalue.corrected, :
'power2P' model need ALL x values greater than 0. Try other models.
请帮助我使用这个打包程序,其他我只想制作我在 R Studio 中发送图片的 excel 之类的东西。
解决方案
结果似乎与 Excel 版本有点不同。想知道这些“日志”是否在不同的基础上完成?
plot(log(Cl) ~ log(Q) )
trendline <- lm(log(Cl)~log(Q))
abline(trendline)
trendline
#------
Call:
lm(formula = log(Cl) ~ log(Q))
Coefficients:
(Intercept) log(Q)
0.37431 -0.02898
#---------------
title(main="Log(Cl)~Log(C)")
您的 Excel“日志”都大于 0,因此 Excel 不会使用 log-base-10。这将使价值更加消极。所以 0.7 的对数如何变成正数是一个很大的谜。也许您需要解释或引用这种“功率回归”方法。它看起来不像标准的统计数据或数学。
推荐阅读
- scikit-learn - MLPRegressor 输出范围
- python - Django 用户,用户如何有权仅编辑他们拥有的模型(DRY)?
- mysql - 当 MySql 不支持 json 索引时,Javers 如何处理对 json 值字段的频繁查询?
- angular - Angular默认子路由未加载父组件
- spring-boot - 如何在 Spring Boot Feign Client 上定义全局静态标头
- acumatica - 采购订单屏幕上的 CuryUnitCost,POLine DAC
- django - 在 Django 中自定义错误消息“请填写此表格”
- countif - COUNTIFS() 用于定义为 NAME 的非连续范围
- visual-studio - 签入 TFS 时,Visual Studio 找不到路径 system.net.http 的一部分
- django - 禁止 403:Firefox 中的 CSRF 验证失败错误,而不是 chrome