.fill_blank_cells <- function(dat,layout,rows.colname="row",columns.colname="column") {
# Add extra lines if a row name is missing from the rxns
extra.lines.rows <- lapply(rownames(layout),function(r.name,dat,columns) {
if(!(r.name %in% dat[[rows.colname]])) {
return(
lapply(columns,function(c.name,r.name) {
return(list(row=r.name,column=c.name))
},
r.name=r.name) |> data.table::rbindlist()
)
} else {
return(NULL)
}
},
dat=dat,
columns=colnames(layout)) |> data.table::rbindlist()
# Add extra lines if a column name is missing from the rxns
extra.lines.columns <- lapply(colnames(layout),function(c.name,dat,rows) {
if(!(c.name %in% dat[[columns.colname]])) {
return(
lapply(rows,function(r.name,c.name) {
return(list(row=r.name,column=c.name))
},
c.name=c.name) |> data.table::rbindlist()
)
} else {
return(NULL)
}
},
dat=dat,
rows=rownames(layout)) |> data.table::rbindlist()
return(data.table::rbindlist(list(dat,
extra.lines.rows,
extra.lines.columns),
fill=TRUE))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.