具有固定增量的列的 R 回归
Posted
技术标签:
【中文标题】具有固定增量的列的 R 回归【英文标题】:R regression over columns with fixed deltas 【发布时间】:2015-01-17 09:29:11 【问题描述】:我在 R df 中有一个数据框,其中每一行 X 是一个主题(N = 100),每一列 S 是两年内每个月完成一项任务的每个主题的分数。因此,我有一个由 1 个月间隔均匀分布的 100 个受试者和 24 个观察值的数据框(忽略月/日差异)。
问题1:如何为每个主题拟合一条线(线性回归)?我很难理解如何对列执行此操作,而不是列中的行。
问题2:如何将一条线(线性回归)拟合到整个数据集?我问是因为我想将数据集分成 A 组和 B 组(即一列标记为条件:A,B),并在 24 个时间点上为每个主题子集拟合一条线。
如果这是一个简单的问题,我们深表歉意。
【问题讨论】:
请参阅reshape2::melt
以获取适当格式的数据。并分享一些数据,向我们展示您的尝试。
【参考方案1】:
我根据您的描述构建了一个数据集。如果这有用,不妨将其包含在您的问题中。
df<- as.data.frame(matrix(rep(1:24,100)+rnorm(2400),nrow=100,byrow=T))
names(df)<- paste("S",1:24,sep="")
df$ID<-1:100
df$group <- as.factor(sample(c("A","B"),100,replace=T))
现在融合您的数据框,将 S1 到 S24 列作为因子变量。
library(reshape2)
m<- melt(df,id.vars=c("ID","group"))
然后,您可以使用以下类型的调用来检查特定 ID 的线性时间模型。您可以使用 lapply
一次性为所有 ID 执行此操作。
summary(lm(value~as.numeric(variable), data=m, subset=ID==5))
这将按照组预测的方式对所有项目进行建模。请注意,组因子被强制为数字。在这种情况下,A 为 1,B 为 2。
summary(lm(value~group, data=m))
【讨论】:
非常有帮助。很抱歉没有提供样品,并感谢您在这里所做的努力。当我有时间对此进行深入审查时,我将实施这一点并与您联系。谢谢!以上是关于具有固定增量的列的 R 回归的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 phpmyadmin 向 mysql 数据库中的列添加自动增量?
Oracle - 如何使用 varchar 类型创建自动增量列?