对具有固定增量的列进行R回归

时间:2014-11-19 18:14:57

标签: r regression

我在R,df中有一个数据框,其中每一行X是一个主题(N = 100),每一列S是每个任务中每个主题在两年内的每个主题的得分。因此,我有一个100个科目的数据框和24个观察间隔1个月的间隔(忽略月/日差异)。

问题1:我如何为每个主题拟合一条线(线性回归)?我无法理解如何在列上执行此操作,而不是列中的行。

问题2:如何在整个数据集中拟合一条线(线性回归)?我问,因为我想将数据集分成A组和B组(即一个列标记为条件:{A,B}),并在24个时间点内为每个主题子集拟合一条线。

如果这是一个简单的问题,请道歉。

1 个答案:

答案 0 :(得分:2)

我根据您的描述构建了一个数据集。如果这很有用,也许可以将它包含在你自己的问题中。

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