5

我正在尝试使用 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 循环,它可以一次运行所有代码并给我每月的结果。

4

0 回答 0