我正在尝试使用 GA 数据构建马尔可夫链数字归因模型。
我想要一些关于日期范围的 for 循环的帮助,然后在我的数据集中创建一个显示月份的列。
该查询从 GA 中提取数据,特别是从多渠道漏斗报告中提取数据。所以,我想按月计算所有唯一路径和转换,这样我就可以运行马尔可夫链模型并按月获取渠道归因。
我做了一些基本的工作,但由于我不熟悉循环,所以我卡住了。
任何帮助都会很棒。
我将尝试分两个阶段破解代码:
阶段 a:提取数据
查找每个月的开始和结束日期
start_date <- seq(as.Date("2018-01-01"),length=12,by="months")
end_date <- seq(as.Date("2018-02-01"),length=12,by="months")-1
循环开始和结束日期
mcf_data <- list()
for(i in 1:length(start_date)){
for(j in 1:length(end_date)){
mcf_data<-print(get_mcf(ga_id,
start.date = start_date[i], end.date = end_date[j],
metrics = "mcf:totalConversions",
dimensions = "mcf:basicChannelGroupingPath",
sort = NULL,
filters = NULL,
samplingLevel = NULL,
start.index = NULL, max.results = NULL, fetch.by = NULL)
}
}
这很好用,但只是给了我唯一路径和转换的总数。理想情况下,我想使用 i,j 来创建一个额外的列,每次循环从 1 运行到长度时,我都会得到一个与某个月份相关的数据框,所以最后我有具有唯一路径的数据集和按月转换。
阶段 b:运行马尔可夫链模型
理想情况下,我想继续 for 循环,从提取数据到按月运行模型
df_mcf_data <- data.frame(mcf_data$basicChannelGroupingPath
,mcf_data$totalConversions,
conv_null = 0)
mod1 <- markov_model(df_mcf_data,
var_path = 'mcf_data.basicChannelGroupingPath',
var_conv = 'mcf_data.totalConversions',
var_null = 'conv_null',
out_more = TRUE)
df_res1 <- mod1$result
最重要的部分是我工作的代码阶段 a。但是,如果对阶段 b 也有帮助,我的总目标是有一个 for 循环,它可以一次运行所有代码并给我每月的结果。