【问题标题】:Stop Rfacebook for loop outputting while still running code在仍在运行代码时停止 Rfacebook 循环输出
【发布时间】:2018-01-19 05:08:40
【问题描述】:

代码中的要点是从 Facebook 页面收集帖子并将它们存储在 my_page 但是我不熟悉代码,因为它是用于 Uni 项目的。我遇到的问题是它必须以使用 Rstudio 创建的 .rpres 格式使用,因此我不想要输出但仍需要运行代码。

这是我不想显示的输出:

```{r, echo = FALSE}

#install.packages("Rfacebook") 

include(Rfacebook)

token <- "Facebook dev auth token goes here"

page_name <- "BuzzFeed"

my_page <- getPage(page_name, token, n = 2,reactions = TRUE,api = "v2.10") 

number_required <- 50

dates <- seq(as.Date("2017/07/14"), Sys.Date(), by = "day")

#
n <- length(dates) - 1 

df_daily <- list() 

for (i in 1:n){

cat(as.character(dates[i]), " ")

try(df_daily[[i]] <- getPage(page_name, token, 
                             n = number_required,reactions = TRUE,api = "v2.10", 
                             since = dates[i], 
                             until = dates[i+1]))

cat("\n")
}
```

【问题讨论】:

    标签: r rscript rpres rfacebook


    【解决方案1】:

    您的问题只是 Rfacebook::getPage 在运行时打印到控制台。那是因为它调用了cat(),这与print() 是一回事。幸运的是,该软件包提供了一个开关来关闭它 - 您只需将 verbose = FALSE 参数添加到您的调用中,它将停止打印:

    getPage(...)
    getPage(..., verbose = FALSE)
    

    一个包调用catprint 是非常糟糕的做法——他们应该改用messagewarning——所以我向包维护者提出了一个问题,要求对其进行更改,如果你喜欢,你可以在这里观看:

    https://github.com/pablobarbera/Rfacebook/issues/145

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多