我有一组数据,其中包含课后课程学生信息的记录。 数据集包含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)

但是,这在语法上是不正确的。 希望对实现此功能的细微差别有所帮助

  ask by Mike translate from so

本文未有回复,本站智能推荐: