R脚本 - 使用输出消息,就像条件一样

时间:2015-03-02 19:27:29

标签: r

我正在使用RGoogleAnalytics库将我的Google Analytics帐户中的所有数据导入R.但是,复杂查询会提供0个结果。

我的代码如下:

  query.list <- Init(start.date = paste(c(lastmonth.startdate)),
                     end.date = paste(c(lastmonth.enddate)),
                     metrics = "ga:goalCompletionsAll",
                     dimensions = "ga:countryIsoCode,ga:yearMonth",
                     filters = "ga:goalCompletionsAll>0",
                     max.results = 10000,
                     table.id = sprintf("ga:%s", sites$profile.id[i]))

  # Create the Query Builder object so that the query parameters are validated
  ga.query <- QueryBuilder(query.list)

  # Extract the data and store it in a data-frame
  ga.countriesConversions1 <- GetReportData(ga.query, token)

所有内容都在“for”中,如果其中一个查询以0结果结束,则脚本会停止,因为如果没有数据, GetReportData(ga.query,token)无法创建数据框

我想知道是否有办法使用警告消息(“您的查询匹配0结果。请使用查询Feed资源管理器验证您的查询并重新运行”)将库分配给控制台,将其分配给变量并将其用作if条件。所以我可以在下一个函数出现之前创建一个虚拟data.frame。

1 个答案:

答案 0 :(得分:1)

假设getReportData正在抛出错误,那么您可以尝试:

ga.countriesConversions1 <- try(GetReportData(ga.query, token), silent=TRUE)
if(inherits(ga.countriesConversions1, "try-error")) {
  warning(geterrmessage())
  ... error handling logic ...
}