创建多变量未来数据帧循环
Create multivariate future data frame loop
有没有比我在下面使用的循环更有效的方法来创建未来的数据框?可能使用 purrr?
这个循环对我有用,运行时间效率很低。
prods <- as.vector(unique(sales$ProdLine))
class <- as.vector(unique(sales$Class))
ord <- as.vector(unique(sales$Ordertype))
rep <- as.vector(unique(sales$Rep))
type <- as.vector(unique(sales$Type))
Future_Frame <- data.frame()
for (p in 1:length(unique(prods))) {
for (c in 1:length(unique(class))) {
for (o in 1:length(unique(ord))) {
for (r in 1:length(unique(rep))) {
for (t in 1:length(unique(type))) {
Dates = seq(max(sales$Date), by = "week", length.out = 52)
d_table <- Dates %>% as.data.frame() %>%
mutate(ProdLine = prods[[p]],
Class = class[[c]],
OrderType = ord[[o]],
Type = type[[t]],
rep = rep[[r]])
Future_Frame <- rbind(Future_Frame, d_table)
}
}
}
}
}
'''
尝试 plyr
包中的 expand.grid()
函数。
prods <- as.vector(unique(sales$ProdLine))
class <- as.vector(unique(sales$Class))
ord <- as.vector(unique(sales$Ordertype))
rep <- as.vector(unique(sales$Rep))
type <- as.vector(unique(sales$Type))
library(plyr)
Future_Frame = expand.grid(seq(max(sales$Date), by = "week", length.out = 52)
,prods
,class
,ord
,rep
,type)
有没有比我在下面使用的循环更有效的方法来创建未来的数据框?可能使用 purrr?
这个循环对我有用,运行时间效率很低。
prods <- as.vector(unique(sales$ProdLine))
class <- as.vector(unique(sales$Class))
ord <- as.vector(unique(sales$Ordertype))
rep <- as.vector(unique(sales$Rep))
type <- as.vector(unique(sales$Type))
Future_Frame <- data.frame()
for (p in 1:length(unique(prods))) {
for (c in 1:length(unique(class))) {
for (o in 1:length(unique(ord))) {
for (r in 1:length(unique(rep))) {
for (t in 1:length(unique(type))) {
Dates = seq(max(sales$Date), by = "week", length.out = 52)
d_table <- Dates %>% as.data.frame() %>%
mutate(ProdLine = prods[[p]],
Class = class[[c]],
OrderType = ord[[o]],
Type = type[[t]],
rep = rep[[r]])
Future_Frame <- rbind(Future_Frame, d_table)
}
}
}
}
}
'''
尝试 plyr
包中的 expand.grid()
函数。
prods <- as.vector(unique(sales$ProdLine))
class <- as.vector(unique(sales$Class))
ord <- as.vector(unique(sales$Ordertype))
rep <- as.vector(unique(sales$Rep))
type <- as.vector(unique(sales$Type))
library(plyr)
Future_Frame = expand.grid(seq(max(sales$Date), by = "week", length.out = 52)
,prods
,class
,ord
,rep
,type)