我有超过 750 K 原始数据的输入表。它有一个名为 Quarter 的字段。我想创建样本,以便我从每个季度获得 10% 的记录。data.frame 的主要属性是:
- “SERIAL_NBR”
- “型号”
- “战争.开始.每月”
“Start.Qua.Yr”是提及季度的字段。有什么方法可以生成每个季度包含数据(记录的 10%)的样本数据?
使用样本功能,无论季度如何,我都可以获取样本。相同的代码将是:
raw_claim_input[sample(1:nrow(raw_claim_input),as.integer(nrow(raw_claim_input)/10)),]
当我关注一个季度时,我没有得到预期的结果,因为在考虑值时存在逻辑问题
raw_claim_input[sample(1:nrow(raw_claim_input[raw_claim_input$War.Start.Monthly=="08-M2",]),as.integer(nrow(raw_claim_input[raw_claim_input$War.Start.Monthly=="08-M2",])/10)),]
值 08-M2 是过滤器,我想对所有可用值进行过滤。War.Start.Monthly 有 70 个值,我想为 War.Start.Monthly 的每个值生成样本。
部分数据
Day.Covered SHIP_DATE Warranty.Start.Qua.Yr War.Start.Monthly AssemblyDateUpdated Warranty.End.Date Warranty.End.Qur.Yr War.End.Monthly
252754 365 06-04-2008 00:00 08-Q2 08-M6 06-03-2008 00:00 08-04-2064 64-Q2 64-M4
441605 1095 08-17-2010 11:13:07 10-Q3 10-M8 08-16-2010 12:09:57 08-04-2064 64-Q2 64-M4
583636 731 10-17-2012 00:00:00 12-Q4 12-M10 10-16-2012 00:00:00 08-04-2064 64-Q2 64-M4
115586 731 01-04-2013 00:00 13-Q1 13-M1 01-03-2013 00:00 08-04-2064 64-Q2 64-M4
334221 1095 06-13-2011 12:29:23 11-Q2 11-M6 06-11-2011 11:25 08-04-2064 64-Q2 64-M4
146656 1095 03-16-2011 10:54:37 11-Q1 11-M3 03-15-2011 08:14:40 08-04-2064 64-Q2 64-M4
249956 1095 06-18-2008 12:35:06 08-Q2 08-M6 06-06-2008 10:51 08-04-2064 64-Q2 64-M4
276295 731 05-18-2011 00:00:00 11-Q2 11-M5 05-18-2011 00:00:00 19-11-2014 14-Q4 14-M11
582423 731 10-22-2012 00:00:00 12-Q4 12-M10 10-22-2012 00:00:00 08-04-2064 64-Q2 64-M4
380369 730 08-04-2009 17:43 09-Q3 09-M7 07-31-2009 07:14:17 18-01-2012 12-Q1 12-M1
如果需要更多详细信息,请告诉我。