在 R DT 中,您可以使用以下代码定义表控制元素:
# only display the table, and nothing else
library(DT)
datatable(mtcars, options = list(dom = 't'))
Run Code Online (Sandbox Code Playgroud)
上面是t一个DOM。DOM 元素l控制改变输入控件的长度,基本上就是你的表格有多长。看起来像这样。
此长度更改输入控件的默认值为 10。如何将此默认值更改为 25、100,甚至“全部”?
我有一个包含多个变量的表,其中包含长变量名和长字符串作为多个观察值.如何显式设置每个列宽,因此通过R Markdown呈现为HTML的表不会自动将行加倍以使长字符串适合单元格?
即使表格无法同时显示所有列,我也可以使用足够长的列.但是,我总是可以使用'FixedColumns'扩展名和滚动条向右移动以获得更多列.
我目前用于设置列宽的代码是:
options = list(
autowidth = TRUE,
columnDefs = list(list(width = '600px', targets = c(1, 2))),
Run Code Online (Sandbox Code Playgroud)
但无论我如何设置不同的宽度,最终渲染的表格看起来都有太大的不同.
以下是我在rmarkdown中使用的一些可重复生成的代码,包括在HTML中生成模拟数据和DT对象.
```{r}
# generate data
vec_1 <- c("DHDH, DDDDDTV",
"DHDH, DDDDDTV, TT&T",
"DHDH, DDDDDTV, TT&T, Caaater",
"DHDH, DDDDDTV, TT&T, Caaater, Cxx",
"DHDH, DDDDDTV, TT&T, Cxx",
"DHDH, DDDDDTV, Caaater",
"DHDH, DDDDDTV, Caaater, Cxx",
"DHDH, DDDDDTV, Cxx")
vec_2 <- c("Some radomn long string aaa bbb ccc dddd aaa bbb ccccccc",
"Some radomn long stringa",
"Some string aaa bbb",
"Some radomn long string …Run Code Online (Sandbox Code Playgroud) 一直在尝试更改DT生成的表中所有文本的字体大小.但是,我只能弄清楚如何使用更改记录的大小
formatStyle(names(datCalc), fontSize = '12px').列标题和按钮具有相同大小的文本.在RStudio中使用R Markdown.
使用 DT 包的按钮扩展,是否可以指定按钮下载 (1) 提供数据表的所有数据,或 (2) 仅可见页面上的数据。
以下是文档中的示例。
datatable(
iris, extensions = 'Buttons', options = list(
dom = 'Bfrtip',
buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
)
)
Run Code Online (Sandbox Code Playgroud) 我正在寻找创建条形图,当使用DT时,它datatable会出现在列的单元格中间,并向左或向右伸出,具体取决于单元格中的值是正还是负.
我已尝试使用该函数styleColorBar并将参数更改backgroundPosition为'left'或者'center'每次尝试时,条形图仍显示在单元格的右侧,并始终向左移动.
我找不到R代码的例子,但附上了一个可以在Excel上完成的例子; 颜色不是必要的,但如果包含这将是一个奖金.
我正在构建一个R闪亮的仪表板,当我使用DT包和renderdatatable()将数据放入表中时.在每列的顶部,我有过滤器,搜索框太窄,无法查看文本并选择一个选项.这是一张图片:
有谁知道增加宽度的方法?
这是我在server.r中的数据表代码的代码:
output$table <- DT::renderDataTable(DT::datatable({
data <- rv$data
if (input$sour != "All") {
data <- data[data[,1] == input$sour,]
}else{data}
if (input$sour1 != "All") {
data <-data[data[,2] == input$sour1,]
}else{data}
if (input$tran != "All") {
data <-data[data[,3] == input$tran,]
}else{data}
},filter='top'))
Run Code Online (Sandbox Code Playgroud)
这是ui.r中的代码:
tabItem(tabName = "ResultsTable",
fluidPage(
headerPanel(
h1("List", align="center", style = "font-family: 'Verdana';font-weight: 800; line-height: 1.1; color: #151515;")),
# fluidRow(
# column(8, DT::dataTableOutput("table",width = "100%"),offset = 2)))),
# # Create a new Row in the UI for selectInputs
fluidRow(
column(4, …Run Code Online (Sandbox Code Playgroud) 我想使用DT包在数据框中隐藏一列(下面例子中的col4).
我已经在这里找到了代码片段,但没有用 - col4仍然显示.这是我的sessionInfo,以及我可重复的例子.
> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils
[5] datasets methods base
other attached packages:
[1] DT_0.1.55 shiny_0.13.1
loaded via a namespace (and not attached):
[1] htmlwidgets_0.6 magrittr_1.5
[3] R6_2.1.2 htmltools_0.3.5
[5] tools_3.2.3 yaml_2.1.13
[7] Rcpp_0.12.4 jsonlite_0.9.19
[9] digest_0.6.9 xtable_1.8-2
[11] httpuv_1.3.3 …Run Code Online (Sandbox Code Playgroud) 这是一个在 R 中创建的数据表的脚本。我试图通过调整图的宽度来完全适应框中的图。下面是情节的脚本以及我试图适应的盒子。请帮我调整使用数据表生成的图的宽度。另外,我不想增加框的宽度。可能的解决方案的链接将有很大帮助。谢谢。
数据表脚本:
r3_blood = subset(patient, handling == "Blood test" & employee == "r3")
datatable(r3_blood, options = list(
searching = FALSE,
pageLength = 5,
lengthMenu = c(5, 10, 15, 20)
))
Run Code Online (Sandbox Code Playgroud)
将表格放入框中的脚本:
box( title = "Case Summary", status = "primary", height =
"575",solidHeader = T,
dataTableOutput("sankey_table"))
Run Code Online (Sandbox Code Playgroud)
我有一个带有DataTables的RStudio Shiny服务器页面,我在下面的示例中使用了TableTools和ColReorder,但是ColVis(Show/hide columns按钮)的行为方式与http://datatables.net/extensions/colvis/中的示例相同:
单击Show/hide columns按钮时,列表会与下面表格中的值混淆,我无法通过再次单击按钮或单击页面中的任何其他位置使列表消失(同样,数据表页面中的示例表现正常).

另外,我对使用sDom表中的不同元素进行排序感到困惑.我希望Show/hide columns按钮位于右上角而不是左上角.我也不确定如何订购sDom表格中的不同元素,以便在更改列的顺序后,保存为CSV/Excel或隐藏某些列将为我提供新的表格布局而不是原始的布局.
有任何想法吗?
shinyUI(pageWithSidebar(
h1('Diamonds DataTable with TableTools'),
tagList(
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/jquery.dataTables.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/TableTools.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdn.datatables.net/colreorder/1.1.1/js/dataTables.colReorder.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdn.datatables.net/colvis/1.1.0/js/dataTables.colVis.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/ZeroClipboard.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/css/TableTools.min.css',rel='stylesheet',type='text/css'))),
singleton(tags$script(HTML("if (window.innerHeight < 400) alert('Screen too small');")))
),
dataTableOutput("mytable")
)
)
Run Code Online (Sandbox Code Playgroud)
shinyServer(function(input, output, session) {
output$mytable = renderDataTable({
diamonds[,1:6]
}, options = list(
"sDom" = 'RMDCT<"clear">lfrtip',
"oTableTools" = list(
"sSwfPath" = "//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/swf/copy_csv_xls.swf",
"aButtons" = list(
"copy",
"print",
list("sExtends" = "collection",
"sButtonText" = "Save",
"aButtons" = c("csv","xls") …Run Code Online (Sandbox Code Playgroud) 是否可以通过编辑DT :: DataTable来更新被动数据源?下面的代码是基于这个代码的变化,x被激活了.尝试在observeEvent中更改x时,问题就开始了.
有x反应的目的是我打算从外部数据库中获取它,然后编辑DT :: DataTable写回数据库,以便它与用户看到的内容保持同步(我很好那 - 它不是问题的一部分).
library(shiny)
library(DT)
shinyApp(
ui = fluidPage(
DTOutput('x1')
),
server = function(input, output, session) {
x = reactive({
df <- iris
df$Date = Sys.time() + seq_len(nrow(df))
df
})
output$x1 = renderDT(x(), selection = 'none', editable = TRUE)
proxy = dataTableProxy('x1')
observeEvent(input$x1_cell_edit, {
info = input$x1_cell_edit
str(info)
i = info$row
j = info$col
v = info$value
# problem starts here
x()[i, j] <<- isolate(DT::coerceValue(v, x()[i, j]))
replaceData(proxy, x(), resetPaging = FALSE) # …Run Code Online (Sandbox Code Playgroud)