考虑以下数据。帧:
> 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)