2012-04-19 2 views
3

私は似た番号のデータフレームがあります。Rの数値を文字列に結合するにはどうすればよいですか?

どのようにきれいにフォーマットされる信頼区間は、文字列のラベルを作成するには、このデータフレームの要素を使用することができ
df$X1 df$X2 

.9  1.442 

:私は「

(0.90, 1.42) 

をmはpasteas.characterc()と何の間のどこかに失われたが動作するようです:/

答えて

6

どのようなものについて:

あなたの例では、数字を丸めることができますが、丸めが正しくないように見えます。小数点以下の桁数を指定しますか?

はまた、 "1" と "2" はdata.frame中の名前として眉をひそめている - ?make.names

EDIT参照してください。このような例をラウンドするには

を、私はformatC()を使って好き。

しかし
paste("(", formatC(df$X1, digits = 2, format = "f"), ",", 
    formatC(df$X2, digits = 2, format = "f"), ")", sep = "") 

、以下.005以上の値がある場合には、彼らは0.00になってしまうだろうことに注意してください。

+0

元の形式に関係なく、小数点以下2桁に丸めたいと思います。 dfの名前に同意する - 実際のデータセットの方が優れています。 – radek

+0

@radek、説明をありがとう。上記の丸めの提案を追加しました。 – BenBarnes

+0

優秀!正確に私が必要なもの:] – radek

4

+1 @BenBarnes、私はちょうど1つの小さなポイントを追加したい。 formatC()に加えて(またはその代わりに)round(df$X1, digits=2)を使用できます。 roundformatC()より簡単です。さらに、これはモードの文字としての出力の状態には何の影響も与えません。

+0

ポインタありがとう。知っておいてよかった! – radek

+2

'round()' @gungを指摘していただきありがとうございます。 'round(0.10、digits = 2)'は '0.10'ではなく' 0.1'を返します。これは@radekのようなものです欲しかった、と思う。 – BenBarnes

+0

@BenBarnes:確かに! – radek

関連する問題