垂直打印的列名称

时间:2015-11-22 11:42:43

标签: r dataframe transpose columnname output-formatting

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

enter image description here

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

enter image description here

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

可执行代码,由Ben Bolker提供:

<HTML>
<HEAD>
<TITLE>Dynamically add Textbox, Radio, Button in html Form using JavaScript</TITLE>
<SCRIPT language="javascript">
function add(type,c) {
//Create an input type dynamically.
var element = document.createElement("input");
var value = parseInt(document.getElementById('number').value, 10);
value = isNaN(value) ? 0 : value;
value++;
 document.getElementById('number').value = value; 

//Assign different attributes to the element.
element.setAttribute("type", type);
element.setAttribute("value", type);
element.setAttribute("name", type);
element.setAttribute("id", type+parseInt(value));


var foo = document.getElementById("fooBar");

//Append the element in page (in span).
foo.appendChild(element);

}
 </SCRIPT>
 </HEAD>
 <BODY>
 <FORM>
 <H2>Dynamically add element in form.</H2>
  Select the element and hit Add to add it in form.
 <BR/><input type="hidden" id="number" value="0"/>  
 <SELECT name="element">
<OPTION value="button">Button</OPTION>
<OPTION value="text">Textbox</OPTION>
<OPTION value="radio">Radio</OPTION>
 </SELECT>

 <INPUT type="button" value="Add" onclick="add(document.forms[0].element.value,1)"/>

 <span id="fooBar">&nbsp;</span>

 </FORM>
  </BODY>
 </HTML>

2 个答案:

答案 0 :(得分:2)

如评论中所述,您可以通过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中不起作用,但它在浏览器中可以正常工作:

enter image description here

答案 1 :(得分: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

(要取消默认情况下无用的列名,请包括sample.table <- data.frame(row.names=1:7, ...

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