-
Notifications
You must be signed in to change notification settings - Fork 70
Description
There seems to be a conflict between DT::datatable and haven_labelled data types that might be caused by recent versions of htmltools.
This works fine:
library(dplyr)
library(DT)
library(labelled)
testDf <- tibble(a=c("one","two"),
b=c(1,2))
datatable(testDf)
This does not:
test2Df <- testDf %>%
set_value_labels(b = c("First"=1, "Second"=2))
datatable(test2Df)
Yielding the following error:
Error: C stack usage 15923728 is too close to the limit
Running the following versions:
- R version 4.3.1 (2023-06-16 ucrt)
- Platform: x86_64-w64-mingw32/x64 (64-bit)
- Running under: Windows 10 x64 (build 19044)
- labelled_2.12.0 DT_0.29 dplyr_1.1.2
C stack errors are generally the result of deep recursive functions, which a 2x2 table is not. I've used DT to display dataframes with haven_labelled data types in the past, so this is a recent bug. I posted the issue at https://stackoverflow.com/questions/77026027/conflict-between-dtdatatable-and-haven-labelled and it did not replicate with htmltools_0.5.3 but does replicate with htmltools_0.5.6. Ritchie Sacramento's theory is that "it's an issue with htmltools when it tries to print the DT object - it gets stuck in a loop checking for tags and trying to add tags..."