我需要在R Shiny应用程序中设置DataTabe的列宽.我浏览了文档中的 数据表选项.另外,我在Stackoverflow中回顾了这个和这个问题.
如果DataTable没有太多列,则设置宽度可以正常工作.但是,如果存在多个列,则尽管存在绝对宽度单位(例如'600px'
),仍会覆盖设置.
在下面的代码片段中:
output$mytable <- DT::renderDataTable({
num_of_cols <- 3
cbind(iris,iris)[,1:num_of_cols]},
options = list(autoWidth = TRUE,
columnDefs = list(list(width = '500px', targets = 1))))
Run Code Online (Sandbox Code Playgroud)
如果我设置变量num_of_cols = 3
它工作正常.num_of_cols
但是,增加显示的列()会导致列宽减小.如果显示大量列,则宽度设置似乎无效.
我尝试过选项,autoWidth = FALSE
但它没有给出不同的结果.我也尝试在该线程drawCallback
的答案部分中描述的选项中使用JavaScript,但它给出了相同的结果.
如何让DataTable显示所需的列宽设置?
我想将一个数据框附加到另一个数据框(主数据框).问题是只有列的子集是常见的.此外,其列的顺序可能不同.
主数据帧:
a b c
r1 1 2 -2
r2 2 4 -4
r3 3 6 -6
r4 4 8 -8
Run Code Online (Sandbox Code Playgroud)
新数据框:
d a c
r1 -120 10 -20
r2 -140 20 -40
Run Code Online (Sandbox Code Playgroud)
预期结果:
a b c
r1 1 2 -2
r2 2 4 -4
r3 3 6 -6
r4 4 8 -8
r5 10 NaN -20
r6 20 NaN -40
Run Code Online (Sandbox Code Playgroud)
这有什么聪明的方法吗?这是一个类似的问题,但设置不同.