按时间序列的特征消除日期

时间:2013-09-02 20:59:26

标签: r time time-series

我正在分析学校的旷工数据,我正在寻求一些帮助。对于每天,我有360行(教室),其中包含当天(第1列)缺席的数量(第2列)和非缺席的学生(第3列)。

有些日子(节假日)只有20个班级报告,因为其他340个班级没有班级。我想从我的数据集中删除那些行。换句话说,我想消除

类并希望从我的数据集中删除所有条目,其中日期的条目总数小于某个数字。换句话说,如果包含日期x的行总数小于200,我想删除所有带日期x的行。

这是我到目前为止所得到的:

for (i in c(min(df$date):max(df$date))){
  b <- df[df$date == i,]
  z <- as.vector(ifelse(nrow(b[which(b$date==i),]) <200, "FALSE", "TRUE"))
  print(z)
  df$newcolumn <- z
}

这打印z,每天都会告诉我那天是否符合我的条件,但是我无法找到将z合并回数据框的10000行的方法。相反,我的df $ newcolumn只是由所有TRUE填充。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果没有可重复的示例,很难做到真实,但不像df[ ! df$date %in% z, ]那样有效吗?

%in%将返回一个逻辑向量,表明每个元素是否存在于另一个向量中,!否定所以如果它>> 200则返回TRUE,[ rowselector,]从中选择行data.frame。