Я отформатировал свою таблицу, используя kableextra
, и я хочу применить crosstalk
filter_slider
к одному из столбцов, чтобы пользователь мог настроить его. Однако я получаю следующую ошибку:
Ошибка в if (nrow (df)> 0) as.character (1: nrow (df)) else символ (): аргумент имеет нулевую длину
Код работает нормально, если таблица не отформатирована с использованием kableextra
. Как я могу это исправить? Вот некоторый базовый воспроизводимый код, который я собрал для демонстрации:
Name <- c("Dwyer, Andy","Ludgate, April", "Knope, Leslie")
Rank <- c(1,2,3)
Hours <- c(1000,2000,5000)
Title <- c("Shoe Shine","Intern","Deputy Director")
df <- data.frame(Name,Rank,Title, Hours)
library(crosstalk)
df2 <- SharedData$new(df)
filter_slider("Rank","Top",df2,column=~Rank)
library(kableExtra)
df3 <- kable(df,row.names=FALSE) %>%
kable_styling(bootstrap_options = c("striped","hover",full_width=T),fixed_thead = T)%>%row_spec(seq(1,nrow(df),2),background = "aliceblue")
df3
df4 <- SharedData$new(df3)
filter_slider("Rank","Top",df4,column=~Rank)
Я ожидаю, что filter_slider
будет работать на обеих таблицах без ошибок. Мне нужен интерактивный фильтр для работы с отформатированной таблицей kable
, и я не могу использовать shiny
.