我在闪亮的应用程序中使用 renderDataTable 来显示 data.table vals$content4table 的内容,它是一个 reactiveValues。
可能会发生 vals$content4table 等于没有列的数据表。在这种情况下,我在使用 formatCurrency 时出错,因为它搜索不存在的列。有没有办法检查数据表是否有带有 ifelse 的列以避免错误?
这是我的服务器的一段代码。
#initialising vals$content4table when launching the app
vals <- reactiveValues(content4table = if(someBoolean) {data.table(NULL)} else {data.table("Column1" = "whatever","Currency" = 1000}
)
output$TableInUI <- DT::renderDataTable(datatable(vals$content4table) %>% ifelse(nrow(vals$content4table)>0,formatCurrency(2, currency = "", interval = 3, mark = ",", digits = 0),fnothing()))
#where fnothing is defined as
fnothing<-function(df) return(df)
上面的代码不起作用并给出了这个错误:警告:ifelse中的错误:未使用的参数(fnothing())