如何使用R分析随x增大时y是否显著下降或保持恒定
R中分析y随x变化趋势的相关问题
问题描述
我想请教如何使用R分析随x增大时y是否显著下降或保持恒定,相关数据和操作如下:
示例数据
y=c(111.8784966,91.79114434,90.02533714,86.30424896,82.35746173,84.31890131) SEy=c(27.43598893,13.38661564,15.35877537,12.9718339,9.933174075,7.232236469) x=c(0.04,0.08,0.1,0.12,0.15,0.2) df=data.frame(y,SEy,x)
其中SEy为y的标准误。
已完成的回归操作
目前已运行的回归代码:
lm1 <- lm(y~log(x))
回归结果图如下,误差条代表y的标准误:
疑问
是否可以通过计算每个y的95%置信区间(CI),检查相邻y的CI是否重叠判断显著性?重叠即代表P>0.05是否成立?
原始测量数据
y1和y2分别为样本1、样本2的测量值:
y1=c(139.3144855,105.17776,105.3841125,99.27608286,92.29063581,91.55113778) y2=c(84.4425076,78.4045287,74.6665618,73.3324151,72.4242877,77.0866648)
2022年2月13日补充操作
参照解决方案补充了混合效应模型的绘图代码,结果如下:
library(ggeffects) mixed.lme <- lme(y~log(x),random=~1|b,data=df) pred.mm <- ggpredict(mixed.lme, terms = c("x")) (ggplot(pred.mm) + geom_line(aes(x = x, y = predicted)) + # 斜率 geom_ribbon(aes(x = x, ymin = predicted - std.error, ymax = predicted + std.error), fill = "lightgrey", alpha = 0.5) + # 误差带 geom_point(data = df, # 添加原始缩放数据 aes(x = x, y = y, shape = b)) + labs(x = "x", y = "y", title = "") + theme_minimal() )

解答
关于CI重叠判断显著性的说明
你提到的用相邻点95%CI重叠判断显著性的方法不具备统计学严谨性,不建议使用。CI重叠只能作为非常粗略的定性参考:两个组的CI存在重叠时,对应的组间差异p值完全可能小于0.05;反过来CI不重叠也不代表差异一定在α=0.05水平上显著,这种判断方式的误差很大,不能作为判定依据。
分析y随x变化趋势的标准方法
你现在拟合的y~log(x)线性模型已经可以直接回答核心问题:运行summary(lm1)查看模型输出,log(x)对应的回归系数如果为负且p值<0.05,就说明x增大时y存在显著的下降趋势;如果p值>0.05,则说明没有足够的统计学证据证明y随x存在变化趋势,可认为y近似恒定。
结合重复测量数据的优化方案
你提供了y1、y2两个重复样本的测量数据,属于重复测量设计,你补充的混合效应模型比简单线性回归更适配这类数据:将样本作为随机效应纳入模型,可以更好地控制重复测量带来的误差,结果更可靠。同样可以运行summary(mixed.lme)查看固定效应中log(x)项的系数和p值,判断趋势的显著性。
内容的提问来源于stack exchange,提问作者Catalyst
相关产品推荐
相关产品推荐

