列选择和进一步绘制来自Shiny中的数据表(DT)的过滤数据

时间:2016-01-14 13:10:09

标签: r datatable shiny dt

我对Shiny和中的数据表(DT)有两个问题 直到这一刻我找不到任何答案。

我想在数据表中选择列而不是行 - > 我试过(因为它是在官方网站http://rstudio.github.io/DT/shiny.html上写的):

datatable(..., selection = list(target = 'column'))

在我的代码中::

datatable(data[, c("Datum", "Kunde", "Block.Nr.", "Toleranz", 
                        "Kaliberschema")], class = 'cell-border stripe', 
               rownames=FALSE, filter="top", selection = list(target = 'column'), options = list(lengthChange = FALSE, columnDefs = list(list(width = '200px', targets = "_all"), list(bSortable = FALSE, targets = "_all"))), callback=JS("
           //hide column filters for two columns
            $.each([0, 1], function(i, v) {
            $('input.form-control').eq(v).hide()});", 
            "var tips = ['Datum von..bis', 'Kunde', 'Block.Nr.',
            'Toleranz +', 'Kaliberschema'],
            header = table.columns().header();
            for (var i = 0; i < tips.length; i++) {
            $(header[i]).attr('title', tips[i]);}")) %>%
        formatStyle("Datum",  color = 'red', backgroundColor = 'lightyellow', fontWeight = 'bold')})

此代码根本不起作用,只是出错:

Error in match.arg(selection) : 'arg' must be NULL or a character vector

我已经尝试过像这样的选项:

options = list(target = 'column', lengthChange = FALSE, columnDefs = list(list(width = '200px', targets = "_all")...

它也不起作用......

有没有人有任何想法?

第二件事是我会使用这个选定的列来绘制线图和使用ggplot的直方图。

提前感谢任何想法

1 个答案:

答案 0 :(得分:0)

您使用的是github提供的DT的最新开发版本还是CRAN的2015 v0.1软件包版本?你的错误表明后者;您选择的选择选项可能根本不可用。要从github安装,您可以从CRAN安装devtools软件包并继续library(devtools);install_github("rstudio/DT")。或者甚至更好:询问作者何时可以通过CRAN获得包裹,因为这种混乱已经出现在其他地方......