小さい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
なので
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 |
+--------------+-------------+--------------+-------------+---------+
大きい[data.frames
]の場合、不必要な時間がかかることを理解していますが、それがオプションである場合は、小さいフレームをより構造化された方法で確認できるようにしたいと考えています。
特に、2つのテキストフィールドが隣接している場合、単語間の間隔は列間の間隔と同じサイズであるため、2つのフィールド間のパイプを使用してそれらを分離する方がはるかに簡単です。
ありがとう
それが誰かを助けるために、私はknitr
のkable
が素敵なきれいなプリントを達成するという事実を偶然見つけました。上記の.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 |
最近同じ問題が発生し、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)
_
私はすべての機能が自分自身のために語っていると思います。完全な概要については、 https://hughjonesd.github.io/huxtable/huxtable.html#adding-row-and-column-names を参照してください。
print_screen(iris_hux)
(コンソールで!)
列名の下部の情報を抑制する方法はまだわかりません。誰かが知っているなら、コメントしてください!
EDIT:下部の列名を非表示にするには、print_screen()
内で_colnames = FALSE
_を使用します。
あなたが試すことができるいくつかの方法があります。
いくつかのヘルパー関数を.Rprofile
に追加します。私のプロフィールでは、
hh = function(d)
if(class(d)=="matrix"|class(d)=="data.frame") d[1:5,1:5]
この関数は、データフレームの左上隅を印刷します。私も持っています
ht = function(d, n=6) rbind(head(d, n), tail(d,n))
データフレーム用の独自のS3
印刷関数を作成します。
print.data.frame = function(x, ..., digits = NULL,
quote = FALSE, right = TRUE,
row.names = TRUE)
message("hi")
パッケージを使用します。 dplyr
。ただし、必要なのがきれいな印刷だけの場合、これは少しやりすぎです。