R中的DT,格式化单元格输出。

时间:2017-10-26 10:59:57

标签: javascript r dt

我有长格式的数据

library(data.table)
library(DT)

my.data.long <- data.table(                  
            date = c("2015-06-31","2016-06-31",
                     "2015-06-31","2016-06-31",
                     "2015-06-31","2016-06-31"),
            variable = c("no.receipts","no.receipts",
                         "sales.dollars","sales.dollars",
                         "customers","customers"),
            value = c(1234,2456,
                        52360.25,101256.36,
                        290,385))

我想以宽幅格式显示

my.data.to.display <- dcast(my.data.long, variable ~ date, value.var = c("value"))

有没有办法用DT格式化输出,以便&#34; sales.dollars&#34;可以格式化。目前它仅限于列。我想格式化行。

datatable(my.data.to.display) %>% formatCurrency("2015-06-31")

1 个答案:

答案 0 :(得分:0)

看起来这样的行功能在DT上是不可用的(如果必须调整css,可以调整formatStyle)。唯一可行的选项(imo)在扩展之前使用缩放或格式化。

library(scales)


my.data.long$value[my.data.long$variable=='sales.dollars'] <- dollar(my.data.long$value[my.data.long$variable=='sales.dollars'] )

my.data.long$value[my.data.long$variable=='sales.dollars'] <- paste0('$',my.data.long$value[my.data.long$variable=='sales.dollars'])


datatable((dcast(my.data.long, variable ~ date, value.var = c("value"))))