我将使用 EDGAR 软件包为 R 中的几家公司下载 2005 10-Ks。我有一个迷你循环来测试哪个正在工作:
for (CIK in c(789019, 777676, 849399)){
getFilings(2005,CIK,'10-K')
}
但是,每次运行时,我都会收到是/否提示,我必须键入"是":
Total number of filings to be downloaded=1. Do you want to download (yes/no)? yes
Total number of filings to be downloaded=1. Do you want to download (yes/no)? yes
Total number of filings to be downloaded=1. Do you want to download (yes/no)? yes
如何提示 R 在每次运行时回答"是"?谢谢
请记住在您的问题中包含最小的可重现示例,包括library(...)
和所有其他必要的命令:
library(edgar)
report <- getMasterIndex(2005)
我们可以通过执行一些代码操作来绕过提示。 在这里,我们检索 getFilings
的代码 ,并将要求提示的行替换为一条消息。 然后我们将新函数 ( my_getFilings
( 写入一个临时文件,并source
该文件:
x <- capture.output(dput(edgar::getFilings))
x <- gsub("choice <- .*", "cat(paste(msg3, 'n')); choice <- 'yes'", x)
x <- gsub("^function", "my_getFilings <- function", x)
writeLines(x, con = tmp <- tempfile())
source(tmp)
一切下载正常:
for (CIK in c(789019, 777676, 849399)){
my_getFilings(2005, CIK, '10-K')
}
list.files(file.path(getwd(), "Edgar filings"))
# [1] "777676_10-K_2005" "789019_10-K_2005" "849399_10-K_2005"