使用R来预测使用新数据的子组回归结果

时间:2015-08-01 06:06:25

标签: r lm

我有一个包含内部数据和外部评估结果的大型数据文件(LMTESTData)。我没有手动分配,而是在By和ddply上尝试了许多变体来运行线性回归而没有成功。

colnames(LMTESTData)
 [1] "StudentNumber" "SubjectCode"          "SubjectName"          "ExamMark"    "AssessmentMark"   "U"                "hmkk"            
 [8]  "TESmk"  "Year"

每个SubjectCode的回归模型为lm(hmkk ~ ExamMark + AssessmentMark)

一旦模型工作,我的下一个挑战将是给出每个学生编号的SubjectCode,ExamMark和AssessmentMark的hmkk。

虚拟数据集

LMTESTData = data.frame(StudentNumber = 1:100, SubjectCode = c("A","B","C","D","E"),hmkk=rnorm(mean=72, 100),
                ExamMark=rnorm(mean=62, 100),AssessmentMark=rnorm(mean=68, 100))

1 个答案:

答案 0 :(得分:2)

这是经典的R lapply-split,如果你只提供系数(或者可能是predict() - 离子),它可以与sapply提供矩阵:

lapply( split(LMTESTData, LMTESTData$SubjectCode) ),
         function(d) lm(hmkk ~  ExamMark + AssessmentMark, data=d) 
         )