如何让R垂直打印列名称?

7vhp5slm  于 2023-03-27  发布在  其他
关注(0)|答案(2)|浏览(141)

我相信有意义的变量名。不幸的是,这通常意味着当我在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)
                           )
2ul0zpep

2ul0zpep1#

如注解中所述,您可以通过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 Viewer中不起作用,但在浏览器中起作用:

kupeojn6

kupeojn62#

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

> 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

(To抑制默认情况下获得的无用列名,包括sample.table <- data.frame(row.names=1:7, ...
我一直在做这个。热图,树状图,从扩展分类中自动命名的回归变量...

相关问题