R и DT: Показать параметр фильтра для определенных столбцов

Я хочу использовать DT для отображения некоторых данных и разрешить фильтрацию только по некоторым столбцам. Этот код:

df <- data.frame(c("john","susy"), c("a", "b"))
names(df) <- c("name", "grade")
DT::datatable(df, filter = 'top')

Создает таблицу с параметрами фильтрации по каждому столбцу:

Теперь скажем, я хочу, чтобы поле фильтра было видно только для столбца «имя». Как я могу это сделать? Я думал, что могу использовать фильтр следующим образом:

df <- data.frame(c("john","susy"), c("a", "b"))
names(df) <- c("name", "grade")
DT::datatable(df, filter = c('none', 'top'))

Чтобы включить его только во втором столбце, но это не работает (требуется только один символьный аргумент). Любые идеи? Обратите внимание, что я хочу, чтобы верхнее правое поле поиска выполняло поиск по всем полям, но мне нужно только поле для конкретного столбца поверх второго столбца.


person L42    schedule 17.03.2016    source источник
comment
Эта ссылка может вам помочь - stackoverflow.com/questions/33797072/   -  person string    schedule 28.04.2017
comment
Вы нашли ответ на этот вызов? Если да, не могли бы вы поделиться им с нами?   -  person Dendrobates    schedule 31.08.2017
comment
Я так и не нашел ответа на этот вопрос, извините.   -  person L42    schedule 31.08.2017


Ответы (1)


Я не верю, что вы можете изменить аспект параметра фильтра, но вы можете отключить его функцию, установив searchable = FALSE для определенных столбцов, которые вы не хотите фильтровать.

Надеюсь, это то, что вы ищете:

DT::datatable(
  df, filter = 'top',
  options = list(
    columnDefs = list(list(targets = 1, searchable = FALSE))
  )
)
person Claudiu Papasteri    schedule 31.12.2018