在数据表(R)中每三位数字添加逗号
Add comma to numbers every three digits in datatable (R)
假设我的数据是这样的:
df1 = data.frame(A=c(1000000.51,5000.33), B=c(0.565,0.794))
我想使用 DataTables 并且 A 列为 (1,000,001 ; 5,000)
library(DT)
datatable(df1) %>% formatPercentage('B', 2) %>%
formatRound('A',digits = 0)
我知道我可以使用体重秤
library(scales)
comma_format()(1000000)
但我不确定如何将其与 DataTables 结合使用
谢谢!
您可以使用 formatC
library(dplyr)
library(DT)
df1 %>%
mutate(A = formatC(round(A), format = "f", big.mark = ",", drop0trailing = TRUE),
B = paste0(formatC(100 * B, format = "f", digits = 2), "%")) %>%
datatable()
给出:
有同样的问题:
试试这个:
require(DT)
require(dplyr)
df1 = data.frame(A=c(1000000.51,5000.33, 2500, 251), B=c(0.565,0.794, .685, .456))
df1 <- df1 %>% mutate(A=round(A,digits=0))
datatable(df1) %>% formatPercentage('B', 2) %>%
formatCurrency('A',currency = "", interval = 3, mark = ",")
我上面的答案显示了小数位。
我能够在 formatCurrency()
中使用 digits
选项并且有效:
df1 = data.frame(A=c(1000000.51,5000.33, 2500, 251), B=c(0.565,0.794, .685, .456))
datatable(df1) %>% formatPercentage('B', 2) %>%
formatCurrency('A',currency = "", interval = 3, mark = ",", digits=0)
我不确定 formatRound()
是否是在提出并回答了这个问题后创建的,但这里有一个不使用 formatCurrency()
的解决方案(看起来有点老套):
library(DT)
library(dplyr)
df1 = data.frame(A=c(1000000.51,5000.33, 2500, 251), B=c(0.565,0.794, .685, .456))
datatable(df1) %>%
formatPercentage('B', digits = 2) %>%
formatRound('A', digits = 0)
假设我的数据是这样的:
df1 = data.frame(A=c(1000000.51,5000.33), B=c(0.565,0.794))
我想使用 DataTables 并且 A 列为 (1,000,001 ; 5,000)
library(DT)
datatable(df1) %>% formatPercentage('B', 2) %>%
formatRound('A',digits = 0)
我知道我可以使用体重秤
library(scales)
comma_format()(1000000)
但我不确定如何将其与 DataTables 结合使用
谢谢!
您可以使用 formatC
library(dplyr)
library(DT)
df1 %>%
mutate(A = formatC(round(A), format = "f", big.mark = ",", drop0trailing = TRUE),
B = paste0(formatC(100 * B, format = "f", digits = 2), "%")) %>%
datatable()
给出:
有同样的问题:
试试这个:
require(DT)
require(dplyr)
df1 = data.frame(A=c(1000000.51,5000.33, 2500, 251), B=c(0.565,0.794, .685, .456))
df1 <- df1 %>% mutate(A=round(A,digits=0))
datatable(df1) %>% formatPercentage('B', 2) %>%
formatCurrency('A',currency = "", interval = 3, mark = ",")
我上面的答案显示了小数位。
我能够在 formatCurrency()
中使用 digits
选项并且有效:
df1 = data.frame(A=c(1000000.51,5000.33, 2500, 251), B=c(0.565,0.794, .685, .456))
datatable(df1) %>% formatPercentage('B', 2) %>%
formatCurrency('A',currency = "", interval = 3, mark = ",", digits=0)
我不确定 formatRound()
是否是在提出并回答了这个问题后创建的,但这里有一个不使用 formatCurrency()
的解决方案(看起来有点老套):
library(DT)
library(dplyr)
df1 = data.frame(A=c(1000000.51,5000.33, 2500, 251), B=c(0.565,0.794, .685, .456))
datatable(df1) %>%
formatPercentage('B', digits = 2) %>%
formatRound('A', digits = 0)