write.table() 出力の小数点以下の桁数を制御するにはどうすればよいですか? 質問する

write.table() 出力の小数点以下の桁数を制御するにはどうすればよいですか? 質問する

データ(例えばdata.frame)を扱う場合、ユーザーは以下を使用して数字の表示を制御することができます。

options(digits=3) 

そして、data.frame を次のようにリストします。

ttf.all

ユーザーがExcelにデータを貼り付ける必要がある場合

write.table(ttf.all, 'clipboard', sep='\t',row.names=F)

桁パラメータは無視され、数値は丸められません。

素晴らしい出力を見る

> ttf.all
  year V1.x.x V1.y.x ratio1 V1.x.y V1.y.y ratioR V1.x.x V1.y.x ratioAL V1.x.y V1.y.y ratioRL
1 2006    227    645   35.2     67    645   10.4    150    645    23.3     53    645    8.22
2 2007    639   1645   38.8    292   1645   17.8    384   1645    23.3    137   1645    8.33
3 2008   1531   3150   48.6    982   3150   31.2    755   3150    24.0    235   3150    7.46
4 2009   1625   3467   46.9   1026   3467   29.6    779   3467    22.5    222   3467    6.40

しかし、Excel (クリップボード) にあるものは丸められません。 で制御するにはどうすればよいでしょうかwrite.table()?

ベストアンサー1

この関数は次のように使用できますformat()

write.table(format(ttf.all, digits=2), 'clipboard', sep='\t',row.names=F)

format()は、data.framesを含む多くのクラスにメソッドを持つ汎用関数です。 とは異なりround()、データフレームがすべて数値でなくてもエラーは発生しません。書式設定オプションの詳細については、ヘルプファイルを参照してください。?format

おすすめ記事