「-0.34」が単純に「-34」になるように、数値変数を簡潔に変更するにはどうすればいいですか?先頭の "0."を削除する方法数値R変数で
15
A
答えて
19
数値を出力するときにのみ、具体的な表現(つまり、数値をどのようにフォーマットするか)を選択する必要があります。数値変数を "-0.34"から "-34"に変更することはできません。両方とも同じ番号の表現です。
ただし、式e
を出力するときに、フォーマットする方法を選択できます。私は先頭の「0」をオフのままに任意のビルドで方法を知っていませんが、常にちょうどそれを手動で削除できます。
> sub("^(-?)0.", "\\1.", sprintf("%.2f", -0.34))
[1] "-.34"
あなたは、例えば、
numformat <- function(val) { sub("^(-?)0.", "\\1.", sprintf("%.2f", val)) }
便宜のために関数を定義することができます@のステファンさんの素敵な答えに加えて
2
が、私は同じことを達成したが、より小数点以下を出力し、次のコードにつまずい:既存の回答に加えて
f = function(X1)gsub("0\\.","\\.", X1)
7
、私がいることを言及したかったですパッケージweights
には関数rd()
があります。この関数を使用すると、ゼロに先行しないテキストに数値を丸めることができます。もちろん結果は数字ではなく文字です。
library("weights")
rd(-0.341, digits=2)
[1] "-.34"
0
私は3桁までの数字を表示する必要がありました。 任意の小数点以下の桁数に印字したい場合、別のパッケージ(上記のパッケージweights
)を追加したくない場合は、この機能(@ stefanの回答から適合)は動作しているようです:
numformat <- function(x, digits = 2) {
ncode <- paste0("%.", digits, "f")
sub("^(-?)0.", "\\1.", sprintf(ncode, x))
}
ので:
> numformat(-.232, 2)
[1] "-.23"
> numformat(-.232, 3)
[1] "-.232"
> numformat(-.232, 4)
[1] "-.2320"
0
それはRマークダウンに報告するためなら、私は(関数APAとパッケージのMOTEを使用)、コード:apa(-0.34, 2, FALSE)
これは、マイドキュメント内-.34を返します。
関連する問題
- 1. R:文字列の先頭から先頭のゼロを削除する
- 2. 先頭のドットを削除するJavascript関数
- 3. 先頭に '0'を付けて値をエクスポートする方法
- 4. キャッシュラインの先頭の変数
- 5. jQueryで変数と関数を削除する方法
- 6. jspのセッション変数から先行ゼロを削除する方法
- 7. バッチファイルを作成して数字の先頭から「tel:」を削除する
- 8. 数字の文字列の先頭にゼロを削除するVBA
- 9. アレイの先頭の内容を印刷して削除する方法
- 10. 先頭の0を取り除くコンカットを止める
- 11. Rのインターセプトを削除する方法
- 12. すべてのXML値から先頭/末尾の空白を削除する
- 13. エンティティフレームワーク4の0..1エンティティを削除/削除する方法
- 14. Rマークダウン文書の変数値を補間する方法
- 15. Rの式で変数の値を使う方法は?
- 16. 整数の先頭に0を付けた文字列を作成する簡単な方法は?
- 17. XML文書から先頭の空白を削除する
- 18. 行の先頭から2文字を削除するには
- 19. 先頭のゼロフォーム月を削除するC#
- 20. 先頭と末尾のスラッシュを削除する/
- 21. Javaの.0を含む浮動小数点数から小数部を削除する方法
- 22. 複数のワークシートを高速で削除する方法
- 23. jquery、javascript - 変数からこのパラメータを削除する方法
- 24. シェルスクリプト内の変数から改行と改行を削除する方法
- 25. 2レベルの係数を0/1のバイナリ値に変換するR
- 26. R:数値に変換して数値に変換する
- 27. char変数から空き領域を削除する方法
- 28. 文字列の先頭の空白を削除します。
- 29. 先頭の数字とスペースの複数のファイル名を取り除く
- 30. 先頭と末尾のスペースを削除しますか?
しかし、 'sub'変数を文字に変更してください... –
修正:*変更 –