25 February 2013

RGA是在R中实现的GA API,可以直接将GA数据读入到R中,Coursera的Data Analytics的课程中Jeff也提及过。

RGA的使用非常方便,将GA的API方法都封装成R的语句。

RGA的安装

由于RGA没有放在CRAN上,因此没法直接用install.packages安装,当然我们可以下载 zip或tar.gz然后手动进行安装。此外,我们还可以用devtools来进行安装。

install.packages("devtools")#安装devtools
library(devtools)#载入devtools包
install_github("rga", "skardhamar")#安装rga

 RGA的使用

library(rga)#载入RGA的包
rga.open(instance="ga")#完成Google的认证流程

如果你执行这段代码后报错,如下所示

[caption id=”attachment_1872” align=”aligncenter” width=”666”]SSL Error SSL Error[/caption]

那么你需要在rga.open之前运行

<code>options(RCurlOptions = list(verbose = FALSE, capath = system.file("CurlSSL", "cacert.pem", package = "RCurl"), ssl.verifypeer = FALSE))</code>

执行这段代码后,会在默认浏览器中打开Google的认证页面,输入GA的用户和密码后,会返回一个code,用于程序换取token。

[caption id=”attachment_1863” align=”aligncenter” width=”685”]OAth-Step1 OAuth-Step1[/caption]

[caption id=”attachment_1864” align=”aligncenter” width=”379”]OAth-Step2 OAuth-Step2[/caption]

默认会使用作者的API Client,如果要使用自己的API则需要指定Client.id和Client.secret(这两个值见Google APIs Consoles):

rga.open(instance = "ga", 
         client.id = "862341168163-qtefv92ckvn2gveav66im725c3gqj728.apps.googleusercontent.com", 
         client.secret = "orSEbf0-S76VZv6RMHe46z_N")<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"> </span>

[caption id=”attachment_1865” align=”aligncenter” width=”416”]OAth-Step3 OAuth-Step3[/caption]

填入code后,GA的OAth过程就完成了。一个ga实例就创建好了,我们可以使用这个实例来获取GA的数据。

下面就是获取数据的基本语法:

ga$getData(ids, start.date, end.date, 
           metrics = "ga:visits", dimensions = "ga:date", 
           sort = "", filters = "", segment = "",
           start = 1, max = 1000)

其中要ids是指profile id其实对应就是GA中一张数据表(是的,每个profile都相当于一张表,不过应该是BigTable)形式为’ga:36050032’,请注意是字符形式。start.date和end.date是指时间范围,格式为’2013-02-26’,也是字符形式。其余的参数可以先不用修改。

[caption id=”attachment_1869” align=”aligncenter” width=”369”]Profile ID Profile ID[/caption]

参数的具体用法参见GA API文档

返回的是一个data frame。如果你需要将数据保存为CSV,那么只需要

data<-ga$getData(ids, start.date, end.date,
           metrics = "ga:visits", dimensions = "ga:date",
           sort = "", filters = "", segment = "",
           start = 1, max = 1000)#将返回的data frame赋值给data,是的R中的赋值用类似->的箭头,箭头方向表示赋值方向。
write.csv(data, file = "data.csv")#将data中的数据写入名为data.csv的文件

好了,到这里我们用RGA包成功从GA中取出了数据,并保存为CSV文件,快点动手尝试一下吧~



分享到: 更多
友荐云推荐