La table data.table a une fonctionnalité Nice qui supprime les sorties en tête et en fin de table.
Est-il possible de visualiser/imprimer plus de 100 lignes à la fois?
library(data.table)
## Convert the ubiquitous "iris" data to a data.table
dtIris = as.data.table(iris)
## Printing 100 rows is possible
dtIris[1:100, ]
## Printing 101 rows is truncated
dtIris[1:101, ]
J'ai souvent des résultats data.table qui sont quelque peu volumineux (par exemple 200 lignes) que je veux juste voir.
La méthode d'impression de data.table
a un argument nrows
:
args(data.table:::print.data.table)
function (x, nrows = 100L, digits = NULL, ...)
Vous pouvez l'utiliser pour contrôler le nombre de lignes imprimées:
print(dtIris, nrow=105)
.....
99: 5.1 2.5 3.0 1.1 versicolor
100: 5.7 2.8 4.1 1.3 versicolor
101: 6.3 3.3 6.0 2.5 virginica
102: 5.8 2.7 5.1 1.9 virginica
103: 7.1 3.0 5.9 2.1 virginica
104: 6.3 2.9 5.6 1.8 virginica
105: 6.5 3.0 5.8 2.2 virginica
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
View()
(comme dans View(iris)
ou View(dtIris[1:120,])
) ne tronque pas data.table
s et peut souvent être plus agréable que d'imprimer/de vomir un data.*
sur la console.
Pour imprimer les 60 premières et 60 dernières lignes (par défaut, les 5 premières et 5 dernières lignes)
print(dtIris, topn = 60)
Une option malpropre, mais vous pouvez toujours l'exporter dans Excel pour l'afficher avec un confort supplémentaire.
library(xlsReadWrite)
write.xls(mydata, "c:/mydata.xls")
Vous pouvez le convertir en data.frame uniquement pour l'impression:
iris_dt = as.data.table(iris)
print(as.data.frame(iris_dt))