【发布时间】:2014-12-01 23:05:02
【问题描述】:
我正在查看单个学生级别的学生数据集。
我想做的是在教师学位级别进行一些描述性分析。
也就是说,有些学生正在攻读两个学位(双学位,例如 IT 学士和理学学士),因此有些学生会获得两个学位。
我的数据如下所示。教师分配(无论是 FAC1 还是 FAC2)是任意的。
studid FAC1 FAC2 SUCCESS SEX AVE_MARK
1 IT ARTS 0 Male 65
2 SCIENCE 1 Male 35
3 LAW 0 Male 98
4 IT SCIENCE 0 Female 55
5 COMMERCE IT 0 Female 20
6 COMMERCE IT 1 Male 80
这是用
生成的students<-data.table(studid=c(1:6) ,FAC1 = c("IT","SCIENCE", "LAW","IT","COMMERCE","COMMERCE"), FAC2 = c("ARTS","","","SCIENCE","IT","IT"), SUCCESS = c(0,1,0,0,0,1), SEX=c("Male","Male","Male","Female","Female","Male"), AVE_MARK=c(65,35,98,55,20,80))
我将如何制作这样的东西(虚构的数字)来创建一个包含 FAC1 和 FAC2 列的 Faculty 列?我一直在尝试在 FAC1 和 FAC2 中使用 lapply 函数,但一直处于死胡同(即 students[, lapply(.SD, mean), by=agg.by, .SDcols=c('FAC1', 'FAC2') ]
FACULTY MEAN_SUCCESS AVE_MARK
IT 0.65 65
SCIENCE 1 50
LAW 0.76 50
ARTS 0.55 50
COMMERCE 0.40 10
任何帮助将不胜感激。
【问题讨论】:
标签: r data.table aggregate