2017-10-10 12 views
0

光沢のあるデータテーブルで数字のフォーマットをK、Mに変更するための真っ直ぐな方法を探しています。好ましくは、のformatCurrencyのようなものを使用します。私は、値で行をソートすることが困難になるので、フォーマットを行うために、数値を文字列に変換するk、m個の関数を書く必要はありません。Shiny DataTablesのフォーマット番号をK(千)、M(百万)に変換

答えて

2

これを行う組み込みの方法はありませんが、行ソートを破らないJavaScriptで独自の書式関数を記述するのはあまりにも悪くありません。 https://rstudio.github.io/DT/options.html

そして、これも役立ちます: https://datatables.net/reference/option/columns.render

をここでは小数第1位に丸めカスタム千フォーマッタの例です

はこれを行う方法のためのDTのドキュメントにレンダリング列を参照してください。 :

library(DT) 

formatThousands <- JS(
    "function(data) {", 
    "return (data/1000).toFixed(1) + 'K'", 
    "}") 

datatable(datasets::rock, rownames = FALSE, options = list(
    columnDefs = list(list(
    targets = 0:1, render = formatThousands 
)) 
)) 
+0

ありがとう!それは期待どおりに動作します! –

関連する問題