在R中使用ffdfdply函数进行聚合
我尝试使用R中的在R中使用ffdfdply函数进行聚合,r,grouping,bigdata,aggregation,ffbase,R,Grouping,Bigdata,Aggregation,Ffbase,我尝试使用R中的ffdfdply函数在大型数据集上使用“ffbase”包进行聚合。 假设我有三个变量,分别是Date、Item和sales。在这里,我想使用sum函数来聚合日期和项目的销售额。你能给我介绍一下R中的一些正确语法吗 在这里,我试着这样做: grp_qty <- ffdfdply(x=data[c("sales","Date","Item")], split=as.character(data$sales),FUN = function(data) summaryBy(D
ffdfdply
函数在大型数据集上使用“ffbase”包进行聚合。假设我有三个变量,分别是Date、Item和sales。在这里,我想使用sum函数来聚合日期和项目的销售额。你能给我介绍一下R中的一些正确语法吗 在这里,我试着这样做:
grp_qty <- ffdfdply(x=data[c("sales","Date","Item")], split=as.character(data$sales),FUN = function(data)
summaryBy(Date+Item~sales, data=data, FUN=sum)).
grp\u数量标记ffdfdply是ffbase的一部分,而不是ff。
为了展示ffdfdply的使用示例,让我们生成一个带有50Mio行的ffdf
require(ffbase)
data <- expand.ffgrid(Date = ff(seq.Date(Sys.Date(), Sys.Date()+10000, by = "day")), Item = ff(factor(paste("Item", 1:5000))))
data$sales <- ffrandom(n = nrow(data))
# split by date -> assuming that all sales of 1 date can fit into RAM
splitby <- as.character(data$Date, by = 250000)
grp_qty <- ffdfdply(x=data[c("sales","Date","Item")],
split=splitby,
FUN = function(data){
## This happens in RAM - containing **several** split elements so here we can use data.table which works fine for in RAM computing
require(data.table)
data <- as.data.table(data)
result <- data[, list(sales = sum(sales, na.rm=TRUE)), by = list(Date, Item)]
as.data.frame(result)
})
dim(grp_qty)
require(ffbase)
数据ffdfply
不在基数R中。您应该提到您正在使用的包。好的,这里我使用了ff包。因为我们有ffdfdply()用于聚合。你能帮我个忙吗?你应该把它编辑成问题。当你在做的时候,也许可以把它清理一下?”“u”代替“you”并不是这里最好的风格。为了实现“即时回复”,通常最好提供一个“即时回复”,而不是要求“即时回复”。顺便说一句,ffdfdply
在ffbase
包中,而不是ff
中。