Skip to content

Commit ff4746e

Browse files
proper row alignment
1 parent 76ac2de commit ff4746e

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

R/print.data.table.R

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,23 @@ print.data.table = function(x, topn=getOption("datatable.print.topn"),
110110
IDate = "<IDat>", integer64 = "<i64>", raw = "<raw>",
111111
expression = "<expr>", ordered = "<ord>")
112112
classes = classes1(x)
113+
col_names <- colnames(toprint)
114+
classes <- sapply(col_names, function(col_name) {
115+
if (grepl("^index:", col_name)) {
116+
"index"
117+
} else if (col_name %in% names(x)) {
118+
cls <- class(x[[col_name]])
119+
if (is.list(cls)) cls <- unlist(cls) # Ensure it's a character vector
120+
if (length(cls) == 0) cls <- "unknown" # Handle empty cases
121+
cls[1] # Take only the first class name
122+
} else {
123+
"unknown"
124+
}
125+
})
113126
abbs = unname(class_abb[classes])
127+
abbs[classes == "index"] <- "<index>"
114128
if ( length(idx <- which(is.na(abbs))) ) abbs[idx] = paste0("<", classes[idx], ">")
129+
stopifnot(length(abbs) == ncol(toprint))
115130
toprint = rbind(abbs, toprint)
116131
rownames(toprint)[1L] = ""
117132
}

0 commit comments

Comments
 (0)