将漂亮的data.frames/tables打印到控制台

Akh*_*air 16 printing console r dataframe

有没有办法以data.frames更易读的方式将小字体打印到控制台?

例如,是否可以输出到控制台:

library(MASS)   
iris[1:5, ]

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
Run Code Online (Sandbox Code Playgroud)

iris[1:5, ]

  +--------------+-------------+--------------+-------------+---------+
  | Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species |
  +--------------+-------------+--------------+-------------+---------+
1 |          5.1 |         3.5 |          1.4 |         0.2 |  setosa |
2 |          4.9 |         3.0 |          1.4 |         0.2 |  setosa |
3 |          4.7 |         3.2 |          1.3 |         0.2 |  setosa |
4 |          4.6 |         3.1 |          1.5 |         0.2 |  setosa |
5 |          5.0 |         3.6 |          1.4 |         0.2 |  setosa |
  +--------------+-------------+--------------+-------------+---------+
Run Code Online (Sandbox Code Playgroud)

我意识到data.frames它会花费不必要的时间,但如果它是一个选项,我希望能够以更有条理的方式查看小帧.

特别是,当我有两个文本字段彼此相邻时,使用两个字段之间的管道将它们分开会更容易,因为字之间的间距与列之间的间距大小相同.

谢谢

Akh*_*air 20

如果它可以帮助任何人,我只是碰到这样一个事实跌跌撞撞knitrkable取得一个好的漂亮的打印.结合.Rprofile上面的一些建议,这似乎实现了我的想法.

> knitr::kable(head(iris))

| Sepal.Length| Sepal.Width| Petal.Length| Petal.Width|Species |
|------------:|-----------:|------------:|-----------:|:-------|
|          5.1|         3.5|          1.4|         0.2|setosa  |
|          4.9|         3.0|          1.4|         0.2|setosa  |
|          4.7|         3.2|          1.3|         0.2|setosa  |
|          4.6|         3.1|          1.5|         0.2|setosa  |
|          5.0|         3.6|          1.4|         0.2|setosa  |
|          5.4|         3.9|          1.7|         0.4|setosa  |
Run Code Online (Sandbox Code Playgroud)


der*_*und 6

我最近遇到了同样的问题,遇到了huxtable包裹。它非常灵活,对于更好的控制台输出来说可能有点过大,但它对我非常有用。

这是您可以使用解决问题的方法huxtable

library(huxtable)
library(magrittr)

small_iris <- iris[1:5, ]

iris_hux <- 
  hux(small_iris) %>% 
  add_colnames() %>% 
  set_bold(row = 1, col = everywhere, value = TRUE) %>% 
  set_all_borders(TRUE)
Run Code Online (Sandbox Code Playgroud)

我认为所有功能都能说明一切。有关完整的介绍,请参见https://hughjonesd.github.io/huxtable/huxtable.html#adding-row-and-column-names

print_screen(iris_hux) 产生此输出(在控制台中!):

在此处输入图片说明

我还没有弄清楚如何隐藏列名的底部信息。因此,如果有人知道,请发表评论!

编辑:为了隐藏底部的列名,请使用colnames = FALSEinside print_screen()