[R] shiny datatables column filtering plugin

Charles Determan Jr deter088 at umn.edu
Wed Sep 3 21:09:28 CEST 2014


Thank you Yihui, this would certainly work for me however I have having
trouble getting the regex to work appropriately.  I am using the
developmental version of shiny and have copied your code.  I launch the app
and the filtering of numbers works fine (i.e. 4,5) but the search for
setosa and versicolor gives me a blank datatable.  Is there some dependency
that I am missing that would prevent this regex to work with shiny?


On Wed, Sep 3, 2014 at 11:27 AM, Yihui Xie <xie at yihui.name> wrote:

> The built-in version of DataTables in shiny has already supported
> numeric ranges. For a numeric column x in data, if you type a,b in the
> search box, the data will be filtered using a <= x <= b. The check
> boxes are not supported, but you can use regular expressions (more
> flexible) to achieve the same thing, e.g. (this example requires the
> development version of shiny:
> https://groups.google.com/forum/#!topic/shiny-discuss/-0u-wTnq_lA)
>
> library(shiny)
> runApp(list(
>   ui = fluidPage(
>     dataTableOutput("mytable")
>   ),
>   server = function(input, output) {
>     output$mytable = renderDataTable(
>       iris[sample(nrow(iris)), ],
>       options = list(search = list(regex = TRUE))
>     )
>   }
> ))
>
>
> Then you can search for ^setosa|versicolor$, which means both setosa
> and versicolor in the iris data. Or 4,5 in the search box of
> Sepal.Length to filter this column. Depending on what you want, this
> may or may not be enough.
>
> Regards,
> Yihui
> --
> Yihui Xie <xieyihui at gmail.com>
> Web: http://yihui.name
>
>
> On Wed, Sep 3, 2014 at 7:12 AM, Charles Determan Jr <deter088 at umn.edu>
> wrote:
> > Thank you for checking Yihui, on the off chance are you familiar with any
> > other methods to filter on multiple conditions?
> >
> >
> > On Tue, Sep 2, 2014 at 11:07 PM, Yihui Xie <xie at yihui.name> wrote:
> >>
> >> I just tested it and this plugin does not seem to work with the new
> >> .DataTable() API in DataTables 1.10.x, so I guess it is unlikely to
> >> make it work in (the current development version of) shiny. It is not
> >> in the official list of plugins, either:
> >> http://www.datatables.net/extensions/index
> >>
> >> Regards,
> >> Yihui
> >> --
> >> Yihui Xie <xieyihui at gmail.com>
> >> Web: http://yihui.name
> >>
> >>
> >> On Tue, Sep 2, 2014 at 11:59 AM, Charles Determan Jr <deter088 at umn.edu>
> >> wrote:
> >> > Greetings,
> >> >
> >> > I am currently exploring some capabilities of the 'Shiny' package.  I
> am
> >> > currently working with the most recent version of 'shiny' from the
> >> > rstudio
> >> > github repository (version - 0.10.1.9006) in order to use the most up
> to
> >> > date datatables plugin.  Using the ggplot2 diamonds dataset, I can
> >> > easily
> >> > set columns as unsearchable (commented out below) and I could also
> >> > subset
> >> > out all the 'Ideal' diamonds for example, however I cannot filter out
> >> > multiple conditions such as 'Ideal' and 'Fair' diamonds together.
> From
> >> > my
> >> > searching, this multiple filtering can be done with checkboxes from
> the
> >> > column using the jquery column filtering plugin (
> >> >
> >> >
> http://jquery-datatables-column-filter.googlecode.com/svn/trunk/checkbox.html
> ).
> >> > Despite this, I cannot get this plugin to work with my shiny app.  Any
> >> > insight would be appreciated.
> >> >
> >> > library(shiny)
> >> > library(ggplot2)
> >> > runApp(
> >> >   list(ui = basicPage(
> >> >     h1('Diamonds DataTable with TableTools'),
> >> >
> >> >     # added column filter plugin
> >> >
> >> > singleton(tags$head(tags$script(src='
> https://code.google.com/p/jquery-datatables-column-filter/source/browse/trunk/media/js/jquery.dataTables.columnFilter.js
> ',
> >> > type='text/javascript'))),
> >> >     dataTableOutput("mytable")
> >> >   )
> >> >   ,server = function(input, output) {
> >> >     output$mytable = renderDataTable({
> >> >       diamonds[,1:6]
> >> >     }, options = list(
> >> >       pageLength = 10,#       columnDefs = I('[{"targets": [0,1],
> >> > "searchable": false}]')
> >> >       columnFilter = I('[{
> >> >                         columnDefs: ["targets": [0,1], type:
> "checkbox"]
> >> >                         }]')
> >> >
> >> >     )
> >> >     )
> >> >   }
> >> >   ))
> >> >
> >> >
> >> >
> >> > Charles
> >
> >
> >
> > Charles
>



-- 
Dr. Charles Determan, PhD
Integrated Biosciences

	[[alternative HTML version deleted]]



More information about the R-help mailing list