我有一组数据,包含课后计划的学生信息记录。数据集包含29个变量,但是,我只使用3来解决此问题:
编辑:这已经完成,以下示例仅用于说明目的
student_id year group number
1 2009-10 1
2 2009-10 1
3 2009-10 2
4 2009-10 3
5 2009-10 3
1 2010-11 1
2 2010-11 2
3 2010-11 3
4 2010-11 2
5 2010-11 2
1 2011-12 2
3 2011-12 2
4 2011-12 1
我想通过该计划跟踪学生的进展,看看在课程结束前是否退学。为此,我想计算一个简单的虚拟变量来指示他们是否参加了那一年,结果是这样的:
student_id enroll.year1 enroll.year2 enroll.year3
1 1 1 1
2 1 1 0
3 1 1 0
4 1 1 1
5 1 1 0
最后,我想通过年份和小组汇总这些结果,如下所示:
编辑:这些数字是100%编制的,并且完全放在这里用于说明目的
Year Group retention rate
2009-10 1 0.77
2010-11 1 0.88
2011-12 1 0.8
2009-10 2 0.2
2010-11 2 0.5
2011-12 2 0.6
2009-10 3 0.5
2010-11 3 0.5
2011-12 3 0.5
此处的保留率将被定义为“#who当年未返回(值为0)/组总大小”
我是R的新手,但我一直在尝试使用ddply来创建分组摘要和转换。然而,我对如何迈出第二步感到难过。我在ddply摘要声明中的尝试是这样的:
tracking=ddply(data,"student_id", transform, enroll.year1=1, enroll.year2=student_id %in% year2 ifelse(TRUE,1,0)
然而,这在语法上并不正确。非常感谢有关实施此
的细微差别的任何帮助