1. ホーム
  2. r

[解決済み] Rでprint()を使って改行を表示する

2022-07-07 06:54:23

質問

Rで複数行のメッセージを表示しようとしています。

print("File not supplied.\nUsage: ./program F=filename",quote=0)

次のような出力が得られます。

File not supplied.\nUsage: ./program F=filename

の代わりに

File not supplied.
Usage: ./program F=filename

どのように解決するのですか?

の代替となる cat()writeLines() :

> writeLines("File not supplied.\nUsage: ./program F=filename")
File not supplied.
Usage: ./program F=filename
>

利点は、"left "と "left "の間にある "\n" に渡される文字列に cat() に渡すと、メッセージの後に改行が入ります。例)上記と同じように cat() の出力と比較してみてください。

> cat("File not supplied.\nUsage: ./program F=filename")
File not supplied.
Usage: ./program F=filename>

> cat("File not supplied.\nUsage: ./program F=filename","\n")
File not supplied.
Usage: ./program F=filename
>

理由 print() が思い通りにならないのは print() はRレベルからオブジェクトのバージョンを表示します。この場合、それは文字列です。のような他の関数を使用する必要があります。 cat()writeLines() を使って文字列を表示することができます。私が "バージョン" と言ったのは、印刷された数値では精度が落ちるかもしれないし、印刷されたオブジェクトに余分な情報が追加されるかもしれない、といった理由からです。