r - 删除最终用户对列进行排序的能力
问题描述
我有一个大型数据表对象,我想限制某些列的可排序性。我想我必须使用 options 参数,但我对 JavaScript 的了解还没有到我知道如何将它与函数的参数集成的程度。
我以以下代码为例:
library(DT)
# Create Columns and dataframe
letters <- c("a", "b", "c", "d")
numbers <- c(1, 2, 3, 4)
words <- c("the", "quick", "brown", "fox")
df <- data.frame(letters, numbers, words, stringsAsFactors = FALSE)
# Create Data Table
htmlDf <- datatable(df, rownames = FALSE)
我也有以下代码片段,我试图将其按摩到选项参数中。小代码块来自https://datatables.net/reference/option/columns.orderable。
$('#example').dataTable( {
"columns": [
{null,
"orderable": false },
null,
]
} );
出于这个问题的目的,假设我希望删除对“数字”列进行排序的能力。
谢谢!
注意:这不适用于闪亮的应用程序。
解决方案
R 包DT
的站点提供了一些关于如何将 javascript 选项转换datatables
为 R 语法的精彩教程。
本质上,您所做的是将反映 JavaScript 代码结构的嵌套命名列表传递options
给函数的参数datatable
。所以在你的情况下,你想要这样做:
htmlDf <- datatable(df,
rownames = FALSE,
options = list(
columnDefs = list(
list(orderable = F,
targets = c(1))
)
)
)
这很好地将orderable = FALSE
条件应用于第 1 列。请注意,您必须使用 JavaScript 样式 0 索引而不是 R 样式 1 索引:
推荐阅读
- java - 我将 Spring 库更新到 5.2.6 为 log4j 提供了 Class Cast 异常
- javascript - 无法通过firestore登录
- python - 难以创建包含值列表的 dict
- mongodb - 无法从 aws 中的私有子网内部连接到 mongodb
- websocket - JSF 2.3 Websockets 在使用 PrimeFaces MenuItem 和 ajax=true 时抛出 NullPointerException
- javascript - 为什么我得到的功能没有定义?
- tensorflow - 使用 tensorflow 的 DNN 估计器无法在 GCP 的 AI 平台上获得可重现的结果
- javascript - 尝试使用 URL 用 JQuery/Javascript 完成表单
- apache-flink - 是否可以编写一个使用 flink statefun Harness 终止的单元测试?
- java - Android Q及以上版本如何保存和读取文本文件或MHT格式文件