DT および magrittr パッケージを使用して、データ テーブル オブジェクトに対して 2 つの異なる書式設定操作を実行しようとしています。1 つはヘルパー関数 formatRound() を使用し、もう 1 つは JavaScript として datatable 関数の rowCallback オプションに渡されます。
フォーマット操作のいずれかを個別に実行すると、データテーブルは予想されるフォーマットでレンダリングされます。ただし、両方を一緒に実行すると、データテーブルは空白になりますが、エラーは発生しません。
このコードは、私が説明している動作を示しています。
library(magrittr)
library(DT)
df = data.frame(matrix(rnorm(20), nrow=10))
datatable(
data = df
) %>%
formatRound(c("X1", "X2"), 1)
#table renders as expected
datatable(
data = df,
options = list(
rowCallback = JS("
function( row, data, index ) {
if ( index > 2 ) {
$(row).css('background-color', '#EDEDED');
}
else if ( index > 0 ) {
$(row).css('background-color', '#DEDEDE');
}
else {
$(row).css('background-color', '#D3D3D3');
}
}"
)
)
)
#table renders as expected
datatable(
data = df,
options = list(
rowCallback = JS("
function( row, data, index ) {
if ( index > 2 ) {
$(row).css('background-color', '#EDEDED');
}
else if ( index > 0 ) {
$(row).css('background-color', '#DEDEDE');
}
else {
$(row).css('background-color', '#D3D3D3');
}
}"
)
)
) %>%
formatRound(c("X1", "X2"), 1)
#table renders as blank but with no error returned