R语言-在shiny中使用DT包的常用设置

Python015

R语言-在shiny中使用DT包的常用设置,第1张

使用时shiny时经常要使用DT包展示数据表格,表格的参数很多,容易忘记,做个记录备查.

常用链接: DT包介绍 , DT的API

放在 options(DT.options = list()) 里可以对脚本里的所有 datatable() 的部分参数一起设置.常用的是将表格的描述文字改成中文.

datatable(options = list(dom = 'lftipr'))

-参数 l 控制显示

datatable(rownames = FALSE)

datatable(caption = '标题', rownames = c(), colnames = c()

datatable(options = list(ordering = F, order = list(0, 'asc')) 0代表第一列,asc代表升序,desc代表降序.

datatable(class = 'hover') 多种样式可选

更多样式

1、创建数据集

hospital <- c("New York", "California")patients <- c(150,350)

costs <- c(3.1,2.5)

df <- data.frame(hospital, patients, costs)

2、创建新的变量

df$totcosts <- df$patients * df$costs

3、改变变量的名称

df$costs_euro <- df$costs

df$costs <- NULL

df$patients <- ifelse(df$patients==150,100,ifelse(df$patients==350,300,NA))

4、合并数据集

finaldt <- merge(dataset1, dataset2, by="id")

或者

finaldt <- cbind(dataset1, dataset2)

finaldt <- rbind(dataset1, dataset2)

5、子数据集

dt <- iris[,c("Sepal.Length" ,"Sepal.Width")]

dt <- iris[,c(-2,-3)]#去除第2、3列变量数据

dt2<- subset(dt,Age>40&Sex==men)#对数据集dt筛选满足条件的数据

udf_async_rbind <- function(path= "D:/R/oper_key_index/data/d_data/",

name= "移网线上单" ,

Date_temp = format(Date_stemp,"%Y%m%d"), # 直接引用变量不执行,需加函数转为常量

Date_last_month_day = ymd("2021-08-31") , # 函数内变量名不要与外部变量名重复

Date_last_month_day1= ymd("2021-07-31") ,

cols=190 ){

x <- udf_DT(paste0(path,name,Date_temp,".xlsx") , 1 ,0)

y <- udf_DT(paste0(path,name,format(Date_last_month_day,"%Y%m%d"),".xlsx"),1,0)

z <- udf_DT(paste0(path,name,format(Date_last_month_day1,"%Y%m%d"),".xlsx"),1,0)

if(ncol(x)>70){

x <- x[,1:cols]

y <- y[,1:cols]

z <- z[,1:cols]}else{print("全列导入")}

setnames(y,names(x))

table <- rbind(x, y)

return(table)

}

mob_dev_2ilist <- udf_async_rbind( name = "移网线上单" )