3

我相信有意义的变量名。不幸的是,这通常意味着当我在 R 控制台中查看 data.frame 时会出现巨大的空白:

在此处输入图像描述

有没有办法告诉 R 垂直打印列名,如下所示:

在此处输入图像描述

它不需要在控制台中,也许可以通过这种方式将表格绘制为 PDF?


Ben Bolker 提供的可执行代码:

sample.table <- data.frame(a.first.long.variable.name=rep(1,7),
                           another.long.variable.name=rep(1,7),
                           this.variable.name.is.even.longer.maybe=rep(1,7)
                           )
4

2 回答 2

3

如评论中所述,您可以通过 CSS 应用旋转:

library(DT)
df <- mtcars
names(df) <- sprintf('<div style="transform:rotate(-90deg);margin-top:30px;">%s</div>', names(df))
dt <- datatable(df, escape = FALSE)
htmlwidgets::saveWidget(dt, tf<-tempfile(fileext = ".html"))
shell.exec(tf)

这在 RStudio 查看器中不起作用,但它在浏览器中起作用:

在此处输入图像描述

于 2018-05-29T11:16:18.900 回答
1

并非不使用图形设备。在普通旧控制台中工作的更好更简单的解决方法是:打印表的转置,现在列名变为行名:

> t(sample.table)
                                        1 2 3 4 5 6 7
a.first.long.variable.name              1 1 1 1 1 1 1
another.long.variable.name              1 1 1 1 1 1 1
this.variable.name.is.even.longer.maybe 1 1 1 1 1 1 1

(要抑制默认情况下获得的无用列名,请 include sample.table <- data.frame(row.names=1:7, ...

我一直这样做。热图、树状图、来自扩展分类的自动命名回归变量......

于 2016-09-01T22:05:01.677 回答