用于使用 R 使用新数据进行预测的子组结果回归
Regression of Results by Subgroup used to Predict using New Data using R
我有一个包含内部数据和外部评估结果的大型数据文件 (LMTESTData)。我没有手动设置子集,而是在 By 和 ddply 上尝试了多种变体 运行 线性回归但没有成功。
colnames(LMTESTData)
[1] "StudentNumber" "SubjectCode" "SubjectName" "ExamMark" "AssessmentMark" "U" "hmkk"
[8] "TESmk" "Year"
每个 SubjectCode 的回归模型是 lm(hmkk ~ ExamMark + AssessmentMark)
。
模型开始工作后,我的下一个挑战是根据每个 StudentNumber 的 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))
这是经典的 R lapply-split,如果您只提供系数(或者可能 predict()
-离子),它可能与 sapply
一起提供矩阵:
lapply( split(LMTESTData, LMTESTData$SubjectCode) ),
function(d) lm(hmkk ~ ExamMark + AssessmentMark, data=d)
)
我有一个包含内部数据和外部评估结果的大型数据文件 (LMTESTData)。我没有手动设置子集,而是在 By 和 ddply 上尝试了多种变体 运行 线性回归但没有成功。
colnames(LMTESTData)
[1] "StudentNumber" "SubjectCode" "SubjectName" "ExamMark" "AssessmentMark" "U" "hmkk"
[8] "TESmk" "Year"
每个 SubjectCode 的回归模型是 lm(hmkk ~ ExamMark + AssessmentMark)
。
模型开始工作后,我的下一个挑战是根据每个 StudentNumber 的 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))
这是经典的 R lapply-split,如果您只提供系数(或者可能 predict()
-离子),它可能与 sapply
一起提供矩阵:
lapply( split(LMTESTData, LMTESTData$SubjectCode) ),
function(d) lm(hmkk ~ ExamMark + AssessmentMark, data=d)
)