R - 使用聚合条件按"column"拆分数据



考虑以下数据。帧:

> head(dtrain)
  content_id item_age   item_ctr likes clicks no_clicks event
1   11201926   461540 0.02787456     1     24       837     0
2   11201926   462497 0.02784223     1     24       838     0
3   11201926   473215 0.02780997     1     24       839     0
4   11201926   532983 0.02777778     1     24       840     0
5   11201926   536696 0.02774566     1     24       841     0
6   11201926   545545 0.02771363     1     24       842     0

我想将数据拆分为content_id,这仅需要以下命令

result <- split(dtrain , f = dtrain$content_id )

,但是我只想保留dtrain的数据,其中content_id在列表1000出现(在dtrain中)中都有数据。换句话说,其中相同的content_id在dtrain中比1000次更多。

最后,我将通过content_id进行拆分数据,其中每个拆分将在列表1000发生(因为那是汇总条件)

您可以首先使用dplyr过滤数据框,以仅保留1000或更多记录的内容组:

temp <- dtrain
    %>% group_by(content_id)
    %>% filter(n() >= 1000)

然后按照您的身份继续:

result <- split(temp, f=temp$content_id)

最新更新