Добавление настраиваемого поля со значениями на основе сегментов в экспорт Google Analytics в R - PullRequest
0 голосов
/ 06 февраля 2019

Я экспортирую данные из Google Analytics с R.

Я использую цикл for для запуска нескольких идентификаторов аккаунта одновременно, но один из идентификаторов моего аккаунта должен быть сегментирован по стране (Великобритания против. Остальной мир).Мне нужен способ сделать различие между двумя в моем экспорте.

Как я могу добавить столбец в свой фрейм данных и добавить "UK" или "RoW" к каждой записи этого идентификатора, чтобы иметь возможность различать два?

(Если есть другойспособ сделать это, пожалуйста, поделитесь этим также.)

вот соответствующая часть моего сценария R:

sg_UKonly <- segment_ga4("OB UK Only", user_segment = sd_UKonly)
sg_noUK <- segment_ga4("OB no UK", user_segment = sd_noUK)

# query data

# define a function to query Google Analytics data **ORIGINAL**
getgadata <- function(viewid, start ){
  kpi <- google_analytics(viewid, 
                          date_range = c(start, end),
                          metrics = c("sessions","pageviews","bounces","transactions","itemRevenue","itemQuantity","users"),
                          dimensions = c("date","userType","deviceCategory"),
                          anti_sample = TRUE)
  # to understand the structure of KPI data frame
  # str(kpi)
  # add the viewID to the kpi data for identification of view
  kpi$viewid <- viewid
  return(kpi)
}


# **UPDATED FOR LOOP - THIS SECTION INCOMPLETE**
getgadata <- function(viewid, start, end, seg ){
  kpi <- google_analytics(viewid, 
                          date_range = c(start, end),
                          segments = seg,
                          metrics = c("sessions","pageviews","bounces","transactions","itemRevenue","itemQuantity","users"),
                          dimensions = c("date","userType","deviceCategory"),
                          anti_sample = TRUE)
  # to understand the structure of KPI data frame
  # str(kpi)
  # add the viewID to the kpi data for identification of view
  kpi$viewid <- viewid
  return(kpi)
}



# create an empty data frame ddf
ddf <- as.data.frame(matrix(,0,11))
names(ddf) <- c("viewid","date","userType","deviceCategory","sessions","pageviews",
                "bounces","transactions","itemRevenue","itemQuantity","users")

# loop through all viewIDs to obtain GA data
for(i in idlist){
  if i == 70715250:
    kpi_OB_UK <- getgadata_OBUK(i,date_start,date_end,sg_UKonly)
    print(i)
    try(if(ncol(kpi_OB) == 11) {ddf <- rbind(ddf,kpi_OB)})


  else:
      kpi<- getgadata(i,date_start,date_end)
      print(i)
      try(if (ncol(kpi) == 11) {ddf <- rbind(ddf,kpi)})
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...