亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

格式化R中的十進制位置

格式化R中的十進制位置

慕碼人2483693 2019-06-26 15:49:58
格式化R中的十進制位置我有一個數字,例如1.128347132904321674821,當輸出到屏幕(或寫入文件)時,我只想顯示為兩個小數位。一個人是怎么做到的?x <- 1.128347132904321674821編輯:使用:options(digits=2)被認為是一個可能的答案。是否有一種方法可以在腳本中指定它供一次性使用?當我將它添加到我的腳本中時,它似乎沒有做什么不同的事情,而且我對重新輸入來格式化每個數字也不感興趣(我正在自動化一個非常大的報告)。--回答:圓形(x,數字=2)
查看完整描述

3 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

背景:本頁建議的一些答案(例如,signifoptions(digits=...))不能保證為任意數字顯示一定數量的小數。我認為這是R中的一個設計特性,在這種設計特性下,良好的科學實踐需要根據以下原則顯示一定數量的數字:重要數字“.然而,在許多領域(例如,APA風格)格式要求顯示一定數量的小數位。這樣做往往是為了一致性和標準化目的,而不是為了重要的數字。

:

下面的代碼正好顯示了這個數字的兩個小數位x.

format(round(x, 2), nsmall = 2)

例如:

format(round(1.20, 2), nsmall = 2)# [1] "1.20"format(round(1, 2), nsmall = 2)# [1] "1.00"format(round(1.1234, 2), nsmall = 2)# [1] "1.12"

一個更一般的函數如下所示x是數字和k要顯示的小數。trimws移除任何前導空格,如果您有一個數字向量,這將是有用的。

specify_decimal <- function(x, k) trimws(format(round(x, k), nsmall=k))

例如,

specify_decimal(1234, 5)# [1] "1234.00000"specify_decimal(0.1234, 5)# [1] "0.12340"


查看完整回答
反對 回復 2019-06-26
?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

你可以試試我的包裹可成型.

> # devtools::install_github("renkun-ken/formattable")> library(formattable)> x <- formattable(1.128347132904321674821, digits = 2, format = "f")> x[1] 1.13

好消息是,x仍然是一個數字向量,您可以使用相同的格式進行更多的計算。

> x + 1[1] 2.13

更好的是,這些數字不會丟失,您可以隨時用更多的數字重新格式化:)

> formattable(x, digits = 6, format = "f")[1] 1.128347


查看完整回答
反對 回復 2019-06-26
  • 3 回答
  • 0 關注
  • 759 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號