我是R的新手,我可以使用我能得到的所有帮助!我有一个数据框,其中有OrderDate和MajorCategory作为两个变量。 OrderDates范围从2005-01-01到2007-12-31,MajorCategory从1到73运行,有大约3550万条目。每个OrderDate引用一个特定的订单,该订单具有ID号并且也归因于特定的MajorCategory。我正在尝试创建一个数据框来显示每个唯一的OrderDate以及在该日期订购的每个MajorCategory的数量。
数据集目前看起来像:
OrderDate MajorCategory
2005-12-12 66
2005-12-12 66
2006-03-28 43
2006-05-16 66
我已使用以下方法将唯一的OrderDate(在将类更改为Date之后)分离为自己的数据框:
OD <- as.data.frame(unique(DMEFLines3Dataset2$OrderDate))
OD <- as.data.frame(sort(OD$`unique(DMEFLines3Dataset2$OrderDate)`))
我不知道如何让MajorCategory显示每个日期的计数。所以期望的输出将是这样的:
OD MC_1 MC_2
2005-01-01 4 6
2005-01-02 7 45
2005-01-03 3 23
其中OD是订单日期,MC_X是MajorCategory每个日期的订单计数(MC_1到MC_73)。
我尝试使用for循环,频率和计数,但我似乎无法弄明白。任何帮助将非常感激:)
答案 0 :(得分:0)
我不是R专家,如果给出选项,我会尝试根据需要以不同语言聚合数据,然后将聚合数据加载到R数据框中以进行任何进一步分析。
通过根据第三方天真贝叶斯模型的输出计算ROC图,我已经做了一些接近你要求的事情,该模型由按部门分组的约会细节组成。稍微调整一下我的代码,我能够获得一个数据框,其中包含按日期分组的标识符计数,这似乎是按照您要求的方式构建的。
library(RODBC)
dbConnection <- 'Driver={SQL Server};Server=SERVERNAME;Database=DBName;Trusted_Connection=yes'
channel <- odbcDriverConnect(dbConnection)
InputDataSet <- sqlQuery(channel, "
SELECT OrderID, OrderDate, MajorCategory from [dbo].[myDataSet];"
)
results <- data.frame("date", "ordCount")
names(results) <- c("date", "ordCount")
for (dt in unique(InputDataSet$OrderDate)) {
ordCount <- 0
filteredSet = InputDataSet[InputDataSet$OrderDate == dt,]
for (mc in unique(filteredSet$MajorCategory)) {
ordCount <- ordCount+1
}
df <- data.frame(dt, ordCount)
names(df) <- c("date", "ordCount")
results <- rbind(df, results)
}
results
答案 1 :(得分:0)
据我所知你想要这样的东西:
OrderDate<- as.Date(c('2005-12-12','2005-12-12','2006-03-28','2006-05-16','2005-03-04','2005-12-12'))
MajorCategory<- as.numeric(c(66, 66, 43, 66, 43, 1))
OD=data.frame(OrderDate,MajorCategory)
out <- split(OD, OD$MajorCategory)
count=lapply(out, function(x) aggregate(x$MajorCategory, FUN = length, by = list(x$OrderDate)))
答案 2 :(得分:0)
希望这有帮助!
OrderDate MC_43 MC_66 MC_67
1 2005-12-12 NA 2 1
2 2006-03-28 1 NA NA
3 2006-05-16 NA 1 NA
输出为:
df <- structure(list(OrderDate = c("2005-12-12", "2005-12-12", "2005-12-12",
"2006-03-28", "2006-05-16"), MajorCategory = c(66L, 66L, 67L,
43L, 66L)), .Names = c("OrderDate", "MajorCategory"), class = "data.frame", row.names = c(NA,
-5L))
示例数据:
<ion-list no-lines *ngFor="let list of displayList;let i=index;" (click)="checkdeadline_dt(list.DEADLINE_DT)">
<ion-item>{{list.TASKDESC}}{{list.ENTUSR }}{{list.DEADLINE_DT }}</ion-item>