我有一个包含许多列和行的数据集(Purchase.df)。 对于这个问题的重要变量名是“客户”,“订购日期”,“DateRank”(其居日期,以便我能找到的最小日期)和“名优产品”。 下面是一个非常小的样本什么我的工作:(我是新来这个网站,所以我希望我粘贴下面的作品)
Purchase.df<-structure(list(Customer = c(10071535L, 10071535L, 10071535L,
10071535L, 10071535L, 10071535L, 10071711L, 10071711L, 10071711L,
10071711L, 10071711L, 10071711L, 10071711L, 10071711L, 10071711L,
10071711L, 10071711L, 10071711L, 10072059L, 10072059L, 10072059L,
10072113L, 10072113L, 10072113L, 10072113L, 10072113L, 10072113L,
10072113L), BrandName = structure(c(1L, 2L, 2L, 2L, 3L, 3L, 2L,
2L, 2L, 2L, 3L, 3L, 1L, 3L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L,
2L, 3L, 3L, 3L, 3L), .Label = c("X", "Y", "Z"), class = "factor"),
OrderDate = structure(c(14L, 14L, 15L, 16L, 19L, 20L, 11L,
18L, 5L, 6L, 1L, 17L, 21L, 22L, 23L, 8L, 10L, 13L, 7L, 9L,
12L, 4L, 4L, 2L, 2L, 2L, 3L, 3L), .Label = c("1/17/2011 0:00",
"1/19/2010 0:00", "1/25/2010 0:00", "1/4/2010 0:00", "10/22/2010 0:00",
"11/15/2010 0:00", "11/23/2011 0:00", "12/14/2011 0:00",
"12/16/2011 0:00", "2/7/2012 0:00", "3/16/2010 0:00", "3/21/2012 0:00",
"4/16/2012 0:00", "4/27/2012 0:00", "5/16/2012 0:00", "5/30/2012 0:00",
"5/5/2011 0:00", "6/1/2010 0:00", "6/12/2012 0:00", "7/3/2012 0:00",
"8/1/2011 0:00", "8/16/2011 0:00", "9/19/2011 0:00"), class = "factor"),
DateRank = c(18.5, 18.5, 20, 21, 24, 25, 15, 23, 9, 10, 1,
22, 26, 27, 28, 12, 14, 17, 11, 13, 16, 7.5, 7.5, 3, 3, 3,
5.5, 5.5)), .Names = c("Customer", "BrandName", "OrderDate",
"DateRank"), row.names = c(NA, -28L), class = "data.frame")
我创建了这个大数据集(subset.df),该发现为每一位客户第一订购日期,并告诉我,他们所购买的品牌的一个子集。 我用下面的代码来做到这一点:
subset1<-split(Purchase.df,Purchase.df$Customer)
subset2<-lapply(split(Purchase.df,Purchase.df$Customer), function(chunk) chunk[which(chunk$DateRank==min(chunk$DateRank)),])
subset.df<-do.call(rbind, as.list(subset2))
现在,我想弄清楚哪些客户订购X品牌对他们的第一个订购日期,并创建包含为他们的第一个订单日期购买X品牌客户的所有OrderDates的新的数据集(BigSubset.df)。
应该是这个样子:
Customer BrandName OrderDate DateRank
10071535 X 4/27/2012 0:00 18.5
10071535 Y 4/27/2012 0:00 18.5
10071535 Y 5/16/2012 0:00 20
10071535 Y 5/30/2012 0:00 21
10071535 Z 6/12/2012 0:00 24
10071535 Z 7/3/2012 0:00 25
10072059 X 11/23/2011 0:00 11
10072059 X 12/16/2011 0:00 13
10072059 X 3/21/2012 0:00 16
10072113 X 1/4/2010 0:00 7.5
10072113 Y 1/4/2010 0:00 7.5
10072113 Y 1/19/2010 0:00 3
10072113 Z 1/19/2010 0:00 3
10072113 Z 1/19/2010 0:00 3
10072113 Z 1/25/2010 0:00 5.5
10072113 Z 1/25/2010 0:00 5.5
我似乎无法得到R键引用更小的数据集时,我试图从Purchase.df创建BigSubset.df因为行的数量不相等。 我已经搜索在谷歌并没有看到任何答案,所以我甚至不知道这是可能的R.让我知道你在想什么。