欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語言科學計數法介紹:digits和scipen設置方式

 更新時間:2021年04月19日 09:08:52   作者:datanewlook  
這篇文章主要介紹了R語言科學計數法介紹:digits和scipen設置方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

控制R語言科學計算法顯示有兩個option: digitis和scipen。介紹的資料很少,而且有些是錯誤的。經過翻看R語言的幫助和做例子仔細琢磨,總結如下:

默認的設置是:

getOption("digits")
[1] 7
getOption("scipen")
[1] 0

digits 有效數字字符的個數,默認是7, 范圍是[1,22]

scipen 科學計數顯示的penalty,可以為正為負,默認是0

R輸出數字時,使用普通數字表示的長度 <= 科學計數法表示的字符長度 + scipen長度時,保留普通數字表示的長度,否者采用科學計數法表示。

舉個栗子:

> options(digits = 2) # 有效數字為2位
> options(scipen = 1)
> 1         # 1e+00 長度為5, 保留1顯示,長度為1
[1] 1
> 12345678   # 1.2e+07, 長度為7, 7 + scipen = 8, 普通數字表示長度為8, 沒有超過8, 任然保留不同數字的表示。
[1] 12345678
> 123456789   # 1.2e+08, 長度為7, 7 + scipen =8, 普通數字表示長度為9,因此切換成科學計數法表示
[1] 1.2e+08

一個簡單的方法(不那么準確,比如digits=1時,沒有小數點;數非常大時,指數可能是3位數)估算最長的數字串可以這樣:

digits + 1 (小數點)+ 4 (e+XX科學計數法表示) + scipen

比如剛才最長不用科學計數法表示的數字長度是2+1+4+1 = 8

我們看看修改scipen = -2, 驗證是不是最長數字長度是2+1+4 - 2 = 5

> options(scipen = -2)
> 1234
[1] 1234
> 12345
[1] 12345
> 123456
[1] 1.2e+05

果然!

補充:R語言設置數值輸出(保留至小數點后位數和保留有效數字)

在R語言中,數字的輸出默認為7位:

> a = 0.1234567890   #10位
> a
[1] 0.1234568

注:輸出結果四舍五入。

1 options(digits)函數

通過options(digits)函數設置輸出長度,當digits = 3時:

> options(digits = 3) 
> a = 0.1234567890 #10位
> a
[1] 0.123

當digits = 10時:

> options(digits = 10)
> a = 0.1234567890   #10位
> a
[1] 0.123456789

digits最大取22,超過22會報錯:

> options(digits = 3)
> options(digits = 22)
> options(digits = 23)
Error in options(digits = 23) : 
  invalid 'digits' parameter, allowed 0...22

輸出的結果只保留了9位,末尾的0被省略。

2 round(x, n)函數

round(x, n)函數中,x為數字,n為小數點后保留的位數,設置n = 4時:

> a = 0.1234567890   #10位
> round(a, 4)
[1] 0.1235
> a = 1.234567890   #小數點后9位
> round(a, 4)
[1] 1.2346

注:輸出結果四舍五入。

當設置n = 10時:

> a = 0.1234567890   #10位
> round(a, 10)
[1] 0.123456789

輸出的結果只保留了9位,末尾的0被省略。

當小數點后的0的位數超過n時,輸出的結果為0:

> a = 0.0001234567890   #13位
> round(a, 3)
[1] 0
> a = 0.0001234567890   #13位
> round(a, 4)
[1] 1e-04

3 signif(y, n)函數

signif(x, n)函數中,x為數字,n為有效數字的個數 ,當n = 4時:

> a = 1.234567890   #小數點后9位
> signif(a, 4)
[1] 1.235
> a = 0.000001234567890   #小數點后15位
> signif(a, 4)
[1] 1.235e-06

當n = 10時:

> a = 1.234567890   #小數點后9位
> signif(a, 10)
[1] 1.23456789

此時數字末尾的0依舊被省略。

4 sprintf(fmt, …)函數

> a = 0.1234567890   #小數點后10位
> sprintf("%0.4f", a)
[1] "0.1235"
> a = 0.1234567890   #小數點后10位
> sprintf("%0.10f", a)
[1] "0.1234567890"

通過sprintf(fmt, ...)函數可以保留末尾的0。

當輸入為整數時,位數不夠會在輸入值前面補0:

> a = 12456789
> sprintf("%03d", a)
[1] "12456789"
> a = 12
> sprintf("%03d", a)
[1] "012"

歡迎大家批評指正。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • R語言線性回歸知識點總結

    R語言線性回歸知識點總結

    在本篇內容里小編給大家整理的是一篇關于R語言線性回歸知識點總結內容,有興趣的朋友們可以跟著學習下。
    2021-05-05
  • R語言箱線圖創(chuàng)建實例講解

    R語言箱線圖創(chuàng)建實例講解

    在本篇內容里小編給大家整理的是一篇關于R語言箱線圖創(chuàng)建實例講解內容,有需要的朋友們可以學習下。
    2021-04-04
  • R語言-如何讀取前n行數據

    R語言-如何讀取前n行數據

    這篇文章主要介紹了R語言實現(xiàn)讀取前n行數據的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言實現(xiàn)將分類變量轉換為啞變量(dummy vairable)

    R語言實現(xiàn)將分類變量轉換為啞變量(dummy vairable)

    這篇文章主要介紹了R語言實現(xiàn)將分類變量轉換為啞變量(dummy vairable),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言RcppEigen計算點乘與矩陣乘法連乘算法錯誤解決

    R語言RcppEigen計算點乘與矩陣乘法連乘算法錯誤解決

    這篇文章主要為大家介紹了RcppEigen計算點乘與矩陣乘法時發(fā)生連乘計算錯誤的解決方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • R語言學習之火山圖的繪制詳解

    R語言學習之火山圖的繪制詳解

    火山圖作為散點圖的一種,將統(tǒng)計測試中的統(tǒng)計顯著性量度和變化幅度相結合,從而能夠幫助快速直觀地識別那些變化幅度較大且具有統(tǒng)計學意義的數據點。本文將為大家詳細介紹如何利用R語言繪制火山圖,需要的可以參考一下
    2022-03-03
  • R語言基礎統(tǒng)計方法圖文實例講解

    R語言基礎統(tǒng)計方法圖文實例講解

    這篇文章主要介紹了R語言基礎統(tǒng)計方法圖文實例講解,文中圖文合并講解的很透徹,有感興趣的同學可以研究下
    2021-03-03
  • R語言 install.packages 無法讀取索引的解決方案

    R語言 install.packages 無法讀取索引的解決方案

    這篇文章主要介紹了R語言 install.packages 無法讀取索引的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言邏輯回歸、ROC曲線與十折交叉驗證詳解

    R語言邏輯回歸、ROC曲線與十折交叉驗證詳解

    這篇文章主要給大家介紹了關于R語言邏輯回歸、ROC曲線與十折交叉驗證的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 如何用R語言繪制餅圖和條形圖

    如何用R語言繪制餅圖和條形圖

    這篇文章主要介紹了如何用R語言繪制餅圖和條形圖,幫助大家更好的理解和學習使用R語言,感興趣的朋友可以了解下
    2021-03-03

最新評論