使用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;
任何帮助都会很棒。
答案 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
。