【发布时间】:2022-01-24 05:24:46
【问题描述】:
我尝试像在图像中那样将两列分开显示,但在 rbind(df, subrow) 中出现错误:结果的列数不是向量长度的倍数 (arg 2)
expand_collapse <- function(right_table){
sector_list <- unique(right_table$Sector)
df = data.frame("Sector1"=c(""),"Sector"=c(""),"Incubatee"=c(""),"Actual"=c(""))
my_fun <- function(s){
df1 = right_table[right_table$Sector==s,]
sector1 = df1$Sector[1]
Sector = df1$Sector[1]
Incubatee = ""
actual = as.character(nrow(df1))
mainrow = c(sector1,Sector,Incubatee,actual)
df = rbind(df,mainrow)
incubatee_list <<- unique(df1$Incubatee)
}
df = do.call(rbind,lapply(sector_list, my_fun))
my_fun2 <- function(i){
df2 = right_table[right_table$Incubatee==i,]
sector1 = df1$Sector[1]
Sector = ""
Incubatee = df2$Incubatee[1]
actual = nrow(df2)
subrow = c(sector1,Sector,Incubatee,actual)
df = rbind(df,subrow)
}
df = do.call(cbind,lapply(incubatee_list, my_fun2))
df = df[2:nrow(df),]
df$Actual = as.numeric(df$Actual)
df_total = nrow(right_table)
df = rbind(df,c("","Total","",df_total))
return(df)
}
DT::datatable(expand_collapse(x), rownames = F,escape = FALSE,selection=list(mode="single",target="row"),options = list(pageLength = 50,scrollX = TRUE, dom = 'tp',ordering=F,columnDefs = list(list(visible=FALSE, targets=0),list(className = 'dt-left', targets = '_all'))),class='悬停单元格-边框条纹')
【问题讨论】: