2017-07-10 37 views
0

我有TABLE_LIST對象,它是一個有表格的列表(我無法提供隱私策略的內容,對不起)。在R包的Formattable中,如何同時應用數字和條件格式?

我第一次創建的對象TABLE_LIST(這是data.frames的2x12的列表)

TABLE_LIST=lapply(1:4, function(x) data.frame(rbind(total.ratio4[[x]][-(1)], total.ratio2[[x]][-(1)]), row.names=row)) 

下面的代碼給我基於對細胞的價值紅色和綠色的字體顏色,它的工作原理是一個魅力:

formattable(TABLE_LIST[[1]], list(area(,-(c(5,10)))~formatter("span", style=x~style(color=ifelse(x>1,"red","green"))),area(,(c(5,10)))~formatter("span", style=x~style(color=ifelse(x>1,"green","red"))))) 

但是,我需要顏色和逗號分隔數字。我的失敗嘗試是:

formattable(TABLE_LIST[[1]], list(area(,-(c(5,10)))~formatter("span", style=x~style(color=ifelse(x>1,"red","green"))),area(,(c(5,10)))~formatter("span", style=x~style(color=ifelse(x>1,"green","red"),digits(x,2))), 

area(1:2,1:10)~formatter("span",x~ style(digits(x,2))))) 

此代碼效果不錯,但會清除顏色的格式。我不知道還有什麼要做。

我不得不提到我不能改變原始data.frame而不會搞亂一切。所以我必須對table_list或formattable進行更改。謝謝。

回答

0

我想我解決了它。因此,我將分享這個小知識,誰可能有同樣的問題我的人:

formattable(TABLE_LIST[[1]], list(area(,-(c(5,10)))~formatter("span", 
style=x~style(color=ifelse(x>1,"red","green")),x~style(digits(x,4))), 
area(,(c(5,10)))~formatter("span",style=x~style(color=ifelse(x>1,"green","red")), 
x~style(digits(x,4))))) 

基本上相同的格式化內,對款式的水平,添加一個逗號和x~style

相關問題