## This function is almost verbatim taken from limma. The only change is on
## lines 35 and 43, adding drop = FALSE, and removal of some unncessary lines.
.printHead <- function (x) {
if (is.atomic(x)) {
d <- dim(x)
if (length(d) < 2)
which <- "OneD"
if (length(d) == 2)
which <- "TwoD"
# if (length(d) > 2)
# which <- "Array"
} else {
if (inherits(x, "data.frame")) {
d <- dim(x)
which <- "TwoD"
} else {
# if (is.call(x))
# which <- "Call"
# else {
if (is.recursive(x))
which <- "Recursive"
else which <- "Other"
# }
}
}
switch(which, OneD = {
n <- length(x)
if (n > 20) {
print(x[seq_len(5)])
cat(n - 5, "more elements ...\n")
} else print(x)
}, TwoD = {
n <- d[1]
if (n > 10) {
print(x[seq_len(5), , drop = FALSE])
cat(n - 5, "more rows ...\n")
} else print(x)
# }, Array = {
# n <- d[1]
# if (n > 10) {
# dn <- dimnames(x)
# dim(x) <- c(d[1], prod(d[-1]))
# x <- x[1:5, , drop = FALSE]
# dim(x) <- c(5, d[-1])
# if (!is.null(dn[[1]])) dn[[1]] <- dn[[1]][1:5]
# dimnames(x) <- dn
# print(x)
# cat(n - 5, "more rows ...\n")
# } else print(x)
}, Recursive = {
n <- length(x)
if (n) {
i <- names(x)
if (is.null(i)) i <- seq_len(n)
for (what in i) {
y <- x[[what]]
cat("$", what, "\n", sep = "")
Recall(y)
cat("\n")
}
}
},
# Call = ,
Other = print(x))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.