r - R 中线性、指数和幂曲线的回归建模
问题描述
我正在尝试使用不同的数学函数对试验(试验 1-5)中的反应时间(和其他)数据进行建模。具体来说,我通过转换数据使用线性混合效应模型对线性、指数和幂函数进行建模,并使用 AIC/BIC 来比较拟合:
Linear: lmer(ReactionTime ~ Trial + (Trial | Subjects), data = lmerdata)
Exponential: lmer(log(ReactionTime) ~ Trial + (Trial | Subjects), data = lmerdata)
Power: lmer(log(ReactionTime) ~ log(Trial) + (Trial | Subjects), data = lmerdata)
通过这样做,指数和幂方程意味着与线性方程不同的误差分布。其结果是相对于线性拟合膨胀指数和幂函数拟合。
有没有办法使用 lmer() 来解决这个问题?或者,如何使用非线性混合效应建模来做到这一点?我尝试使用 nlme()、nlmer()、glmer() 来实现,但所有方法最终都会遇到问题(例如,不收敛)。
这是示例数据:
#Create Empty Matrix
lmerdata <- matrix(NA, 20, 3)
#Add Participant IDs
lmerdata[, 1] <- rep(1:4, 5)
#Add Trial Counts
lmerdata[, 2] <- as.numeric(sort(rep(1:5, 4)))
#Add Reaction Time Data
lmerdata[, 3] <- c(2.184308,2.754287,2.396167,1.305267,1.943866,1.70844,2.586035,1.261954,1.768063,1.76659,2.242142,1.489634,1.62544,1.677268,2.378175,1.550744,1.481052,1.424327,1.738102,1.247097)
#Name Columns
colnames(lmerdata) <- c('Subjects', 'Trial', 'ReactionTime')
#Convert to Data Frame
lmerdata <- as.data.frame(lmerdata)
#Turn Subjects into Factor
lmerdata$Subjects <- as.factor(lmerdata$Subjects)
解决方案
推荐阅读
- rdf - 如何在 OWL 中将属性重用为类?
- qt - 自定义 QQuick3DGeometry 不显示
- r - 使用新标签创建新列
- javascript - 在 mongoDB 和 Angular 中实现 socket.io 会引发错误 Cannot GET /socket.io/
- c# - 浏览器意外刷新时的 Blazor WebAssembly 生命周期方法
- spring-boot - 是否可以告诉 spring cloud sleuth 不记录密码等值?
- reactjs - PDFTron 中的滚动页面
- google-sheets - 将 2 个 REGEXREPLACE 公式合二为一
- matlab - 为反相流创建方程矩阵
- javascript - 如何通过比较 JavaScript 中的两个字符串从字符串中获取一个值?