R自動化生成レポートで踏んだ穴(二):taskscheduleR

1250 ワード

前のR連Oracleの導入に続いて、WindowsにRコードを自動的に実行するタスクを配置しました.私はcsを勉強していないので、ネット上でcmdで命令を叩くチュートリアルは私には一つも成功しませんでした.長い間探して、やっとstackoverflowで投稿を見て、taskscheduleRというパッケージを紹介しました.最大の利点は、RstudioにAddinのインタフェースがあり、コマンドを叩く必要がなく、マウスを点けばいいという便利さです.
taskscheduleRをインストールするにはgithubを通じて、CRANにインストールすることはできませんが、githubをインストールするにはfqが必要です.お父さん、会社のパソコンはだめです.まず家のmacでバッグをダウンロードするしかありません.しかし、このパッケージはwindowsシステムしか使えないので、macであることを検出してから自動的に削除しました.仕方なく、国外の学友にダウンロードしてもらって、libraryの中のこのかばんのフォルダを圧縮して私に送って、私は解凍して対応するlibraryのディレクトリの下に入れて正常に使用することができます.そのgithubページには、Rstudioのプラグインのインストール方法など、詳細な操作説明がありますが、ここでは説明しません.
しかし、私はやはり問題にぶつかった.すべてのコードはRstudioで正常に動作してもエラーはありませんが、taskscheduleRで起動するとだめで、エラーを報告するのもわけがわかりません.お正月の2日前の平日の断続的な調査を経て、やっとまたencodingの鍋であることに気づいた.前述したように、RODBCで読み取った中国語を正常に表示するには、Rstudioのデフォルト符号化をutf 8に変更する必要がありますが、windowsのタスク計画ではutf 8はサポートされていないようです.解決策は、レポートを生成するコードをそのまま保存し(ここではtest.Rと仮定)、別のファイルを開き、コードを1行書きます.
source('test.R', encoding = 'utf-8')

この行のコードをRファイルとして保存し、tasksheduleRでファイルを実行するように指定します.
また、rmarkdownでドキュメントを生成する場合は、encodingをutf-8に指定する必要があります.
rmarkdown::render('test.Rmd', encoding = 'utf-8')

これにより、Rはレポートの実行をスムーズに自動化できます.模索の過程で、最大の感想はencodingは本当に大きな穴ですね.