• 締切済み

Rのメッセージ抑制

統計言語Rのクレジット表示とか警告とかがうるさくてたまらないので、 perlのように出力指定したもの以外一切表示しなくするようにする方法を教えて下さい。 suppressWarningsとかsuppressMessagesはコマンド毎にかかないといけないので、 そうではなく、グローバルな初期設定として、一括して表示抑制ができる方法があると嬉しいです。 よろしくお願いします。

みんなの回答

  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

No.1です。もしPerlなどのスクリプト言語からRを使いたいのでしたら、それ用のモジュールが有ったりします。 Perlを使わないので、詳しいことは分かりませんが、 http://www.okada.jp.org/RWiki/?Perl%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%AB%A4%E9R%A4%F2%B5%AF%C6%B0%A4%B9%A4%EB が参考になるかも知れません。 RubyからRをよく使っているのですが、その時はrsrubyを使用しています。 この場合は、Rからの不必要なメッセージは完全に押さえられます。

  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

OSを書いていないので一般的な回答を 以下を参考にしてください。 http://papaya.ab.a.u-tokyo.ac.jp/groups/biomet/wiki/026b4/R.html -qでも出力が抑制されます。 OSXのpkgからインストールした場合はそのままではうまく動きません。(どうもGUIと一緒になったプログラムのようです) MacPortsなどで、Rをインストールすれば正常に動きます。

shirox
質問者

お礼

ありがとうございました。

shirox
質問者

補足

結局以下のようなことをして無理矢理解決しました。 ---- #!/usr/bin/perl $ar=@ARGV[0]; if($ar eq ""){exit(1);} `/usr/bin/R CMD BATCH -q --no-save --slave --vanilla $ar $ar.tmp`; $cattmp=`/bin/cat $ar.tmp`; @cat=split(/\n/,$cattmp); foreach $i (@cat){ if($i=~/During startup/){next;} if($i=~/Setting LC_CTYPE failed/){next;} if($i=~/proc/){last}; print "$i\n"; } `/bin/rm $ar.tmp`; ----

関連するQ&A

  • IMEの抑制単語について

    ご存知の方がいらしたら、ご教授お願いいたします。 WindowsでIME2002を使っております。職業柄「使うな」と言われる漢字がありまして、それらを抑制単語に指定し、変換で出ないようにしています。ここで問題なのですが、たとえば「活かす」という漢字は使ってはいけないとされているため「活かす」に抑制を書ける場合、この活用形である「活かした」「活かそう」なども、全て手動で抑制単語に登録しなければいけないのでしょうか?活用形などで一括で抑制するなどの方法はないものでしょうか?

  • system関数でCシェルコマンドを実行した時のエラー抑制

    CシェルコマンドをPerl上でsystem関数を使用し実行した時の、 エラーメッセージ抑制について教えてください。 ディレクトリ(DIR1をDIR2に)をコピーする際、 下記のようにしました。 system("cp -r DIR1 DIR2"); ここでもし、なんらかの原因でコピー失敗した場合、 「DIR1がありません。」などと、エラーメッセージが出力されます。 Cシェルでこの様なエラーメッセージを抑制するには cp -r DIR1 DIR2 >& /dev/null と、 することによって、エラーメッセージの抑制は可能になります。 これと、同じ事をPerlで行いたいと思っています。 ご回答よろしくお願いします

  • dvd bd-rのファイル名テキスト出力について

    はじめまして dvd-r bd-rのファイル名テキスト出力について教えてください。 OSはWindows 7 H Pです バックアップ用に パソコンのデータをDVD-R BD-Rにバックアップしているんですが 管理のために ディスクの中のファイル名 フォルダ名を テキスト出力する方法を探しています。 いろいろと探したところ コマンドプロンプトで、DIRコマンドを使えばできる事がわかったんですが、 バックアップデータの中には JPG等膨大な量のファイルも含まれているため 出力する際かなり時間がかかってしまいます。 何か拡張子を指定 除外して テキスト出力できる方法はないでしょうか? 簡単に言えば コマンド dir /s での表示・出力の際に jpg やその量の多い拡張子だけ表示させないようにする事はできないか?と言うことです。 回答よろしくお願いします。

  • Windows 10 アップグレードの抑制

    Windows Server 2012 をドメインコントローラ、ActiveDirectoryで使用しています。 クライアントは Windows 7 Professional、Windows 8.1 Professionalがあります。 最近クライアントのタスクトレイにWindows 10 アップグレードの案内が出ており、勝手にバックでタウンロードなどが行われています。 案内を止める方法はいくつかあるようなので、間違ってアップグレードされないように、この機能を停止しようとしました。 コマンドプロンプトを管理者権限で実行し、下記コマンドを入力しました。 reg add HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate /v "DisableOSUpgrade" /t REG_DWORD /d 1 /f reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Gwx /v "DisableGwx" /t REG_DWORD /d 1 /f これで、私のPCでは Windows 10 の案内は出なくなりました。 PCはそれぞれの担当が持っているため、一同に集めることは困難です。 そのため全てのクライアントに対してこのコマンドを使用して歩くのは大変な労力がかかります。 何らかの方法で一斉に停止したいと考えています。 クライアントはすべてドメインにログオンするので、ログオンスクリプトでこのコマンドを実行させようとしたのですが、各クライアントは管理者の権限を持っていないため、実行されませんでした。 ユーザーの権限を変更せずにログオンスクリプトを管理者で実行するとか、または他の方法で一括でWindows 10アップグレードを抑制できる方法はありませんか。

  • スクリプト実行言語にPerlを指定する方法

    ubuntu で (1)apache2 をインストール (2)peal をインストール しました。 その後、スクリプト実行言語にPerlを指定する方法がよくわからなく困っています。 ネットを見ながらやっていますが、スクリプト実行言語にPerlを指定する方法がわかれば先に進めます。どうやればいいのでしょうか?

    • ベストアンサー
    • Perl
  • コマンドラインのログファイルの作成

    Linuxで次のようなプログラムを実現したいのですが どのようにしたらよいでしょうか? (1) シェル起動後、自動的に起動し (2) シェルで入出力されるコマンドラインを指定したファイルに自動的に追加書込みされ * 書込みについては、一行毎に入出力された時刻も同時に書込むものとします 詰まり、次のような記述で、書込みたいのです 入力 時刻 出力 時刻 ・・・ 入力 時刻 出力 時刻 といった感じの書式です (3) 追加書込みされるファイルが一定容量以上になると自動的に別ファイルを生成して、そのファイルに書込まれる これは、Perlなどのスクリプト言語で作るべきでしょうか? それとも、( 例えば、コマンドやリダイレクトだけで作ると言ったような ) もっと簡単な方法がありますでしょうか?

  • Windows7 64bit でのコマンドプロンプト 初期ディレクトリ

    Windows7 64bit でのコマンドプロンプト 初期ディレクトリの変更方法について お世話になってます。 コマンドプロンプトの初期ディレクトリを変更したいです。 現在はの状態は以下です。 C:\Users\Hoge> これを任意の表示に変えたいです。 例えば↓のような感じです。 C:\perl64\test> 宜しくお願いします。

  • Perl5でFTP一括転送する方法を教えてください

    Perl5でリモートにあるファイルをローカルに一括転送する方法を教えてください。 *.txtといったようにファイルを指定して一括でダウンロードしたいのですが。 Perl5パワフルテクニック大全集を参考にプログラミングを行っているのですが、うまくいきません。 よろしくお願いします。

  • ソラリス8のperl5.8が漢字を正しく表現しない

    Solaris8(SPARC)にperl5.80をインストールしました。 下記スクリプトを実行すると ------------------------------ #!/usr/local/bin/perl use encoding "sjis"; printf("噂のC言語\n"); ------------------------------ 出力される文字が 奄フC言語 となってしまいます。 漢字コードはシフトJIS(ja_JP.PCK)を設定しています。 上記スクリプトは、Windows-2000上のperl5.80では、 正しく「噂のC言語」と出力されます。 同一条件(soralis8(SPARC) perl5.80 (ja_JP.PCK))で 正しく日本語を表示出来た方は、おりますでしょうか。 また、この文字化けの改修方法をご存じの方、おりましたら教えてください。

  • Cシェルで標準エラー出力への出力方法を教えてください。

    Cシェルにおいて、通常echo文は標準エラー出力へ表示されます。 echo文のように引数で指定した文字列を標準エラーとして出力するような コマンド?があったら教えてください。 c言語では fprintf(stderr,"test!\n"); などとやりますが、Cシェルではありますでしょうか?

専門家に質問してみよう