2015-11-06 65 views
-1

我有很多学生记录。我需要创建两个新变量。您应该为每个Year显示每个student_IDUnitcode(即注册)的计数。根据数据表中的组和子组的计数创建变量

对于每个Year,每个student_ID应该显示Fail的计数(即等级=='失败')。请参阅以下三位学生的记录示例:

student_ID=c(rep("1001",8),rep("1002",3),rep("1005",11)) 
    Year=c(rep(2011,4),rep(2012,4),2011,2012,2013,rep(2011,4),rep(2012,3),rep(2013,4)) 
    Grade=c(rep("Fail",2),rep("Pass",3),rep("Fail",3),rep("Pass",7),rep("Fail",2),rep("Pass",5)) 
    Unitcode<-c(1201:1222) 
    record<-data.table(student_ID, Year, Grade, Unitcode) 

如果有人可以协助计算新的变量,将不胜感激。

+0

@RichardScriven你为什么要删除的答案? – akrun

回答

1

使用dplyr类似的办法是

library(dplyr) 
record %>% 
    group_by(student_ID, Year) %>% 
    summarise(unitcodes=n(), fails=sum(Grade=='Fail'))