2017-02-04 12 views
0

EDGARパッケージを使用してRのいくつかの企業の2005年10-Kをダウンロードします。私が作業しているテストするためのミニループがあります。しかしgetFilingsをRにするたびにプロンプ​​ト「はい」

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(edgar) 
report <- getMasterIndex(2005) 

我々はいくつかのコードの手術を行うことによって、プロンプトをバイパスすることができます

答えて

2

library(...)および他のすべての必要なコマンドを含め、あなたの質問に最小限の再現性の例を含めることを忘れないでください、ありがとうございました。ここでは、getFilingsのコードを取得し、プロンプトを表示する行をメッセージだけに置き換えます。

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" 
+1

ニース私たちは、そのファイルを一時ファイルに新しい関数(my_getFilings)を書き、source。その行を置き換える別の方法は 'body(getFilings)[[6]] [[3] [[3] [[3]] [[8]] < - quote(choice < - " yes ")' 。クレイジーですが、それは動作します –

+0

ブリリアント!ありがとうございました。また、次回もライブラリコードを含めることにします。 –

関連する問題