[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