如何使用相同的调用在多个配置文件上使用RGA包调用R中的google analytics api

时间:2015-08-14 14:00:14

标签: r google-analytics-api

使用R中的RGA包,通常可以使用以下内容调用API:

DT <- data.table(t_id = c(1,4,2,3,5),
                 airport = c("a","a","d","a","d"),
                 thisTime = c(5.1, 5.1, 6.2, 5.1, 6.2),
                 key=c("airport","thisTime"))

DT_LU <- data.table(f_id = c(rep(1,4),rep(2,3)),
                    airport = c("a","b","c","d","a","d","e"),
                    thisTime = c(6,7,8,9,6,7,8),
                    key=c("airport","thisTime"))

其中 start.date <- "2015-01-01" profile.id <- 8131437 end.date <- format(Sys.Date(), format = "%Y-%m-%d") hey <- get_ga(profile.id, start.date, end.date, dimensions = "ga:minute, ga:day, ga:month", metrics = "ga:sessions") 是RGA包中记录的函数以获取数据。

但是,我有一个数据表,其中包含我想要获取数据的所有配置文件,并且我尝试使用for循环有效地执行此操作:

get_ga

您可以看到我还尝试粘贴回配置文件ID,以便稍后进行细分。

我的错误是这样的: 错误:意外&#39; [&#39;在:

allData&lt; - get_ga([&#34;  错误:意外&#39; [&#39; in&#34; row.names(allData)&lt; - paste([&#34;

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

尝试这样的事情:

library(RGA)
authorize()
ids <- list_profiles()$id
res <- lapply(ids, function(id) {
    ans <- get_ga(id, start.date = "2015-01-01", end.date = Sys.Date(),
                  dimensions = "ga:minute, ga:day, ga:month",
                  metrics = "ga:sessions")
    ans$id <- id
    return(ans)
})
res <- do.call(rbind, res)

对于加速,您可以使用lapply包(parallel)中的替代替换mclapply