我列出了1000名学生及其考试成绩,这些成绩分布在数天内。在数据集中,一列包括它们以ymd-hms格式进行测试的时间和日期,例如, " 20170216-192809&#34 ;.我想比较早上参加考试的学生和下午和晚上参加考试的学生的测试结果的平均分数。我如何将那些在12:00:00 - 23:59:59之间进行测试的人与那些参加测试的人分开00:00:00 - 11:59:59,以便我可以比较一下?
答案 0 :(得分:1)
library(tidyr)
d<-data.frame(time=c("20170216-192809","20170216-112530"))
d<-separate(d,time,into=c("date","time"),sep="-")
d$morning<-as.numeric(d$time)<120000
结果为您提供了一个名为morning的列,早上为TRUE,晚上为FALSE。要比较手段,你可以做类似的事情
mean(d[d$morning,"score"])
mean(d[!d$morning,"score"])
(你显然需要有一个&#34;得分&#34;专栏......)