Я экспортирую данные из 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)})
}