Solución:
Hasta ahora, la única forma en que puedo hacer que funcione es configurando manualmente las etiquetas HTML primero y luego usando escape = FALSE
Aquí envolvemos Sepal.Length
en el bold
Etiqueta HTML:
iris$SepalLength2 <- paste0("<b>", iris$Sepal.Length, "</b>")>
Entonces usa escape = FALSE
para que se analicen las etiquetas HTML.
datatable(iris,
class="row-border stripe hover compact",
rownames = F,
autoHideNavigation = T, escape =FALSE)
Editar:
Para alinear a la izquierda / derecha, puede envolver en un <p align ="left"></p>
Entonces: iris$SepalLength2 <- paste0('<p align ="right"><b>', iris$Sepal.Length, '</b></p>')
Tenga en cuenta que no soy un gurú de HTML ni un experto en esta biblioteca en particular, pero esta parece ser una forma de obtener el resultado deseado.
Ha pasado un tiempo desde que se hizo esta pregunta inicialmente, pero tuve el mismo problema. Aquí hay una solución más simple que no requiere editar los datos de origen o llamar a JS, sino que usa funciones dentro del paquete DT.
DT::datatable(iris,
class="row-border stripe hover compact",
rownames = F,
autoHideNavigation = T, escape =FALSE) %>%
formatStyle(columns = c("Sepal.Length"), fontWeight="bold", `text-align` = 'left') %>%
formatStyle(columns = c("Petal.Length"), fontWeight="bold", `text-align` = 'right')