Possible to print more than 100 rows of a data.table?

后端 未结 5 830
刺人心
刺人心 2021-02-01 01:34

The data.table has a nice feature that suppresses output to the head and tail of the table.

Is it possible to view / print more than 100 rows at once?

li         


        
相关标签:
5条回答
  • 2021-02-01 01:46

    View() (as in View(iris) or View(dtIris[1:120,])) doesn't truncate data.tables, and can often be nicer than printing/spewing out a data.* to the console.

    0 讨论(0)
  • The print method of data.table has an argument nrows:

    args(data.table:::print.data.table)
    function (x, nrows = 100L, digits = NULL, ...) 
    

    You can use this to control how many rows get printed:

    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
    
    0 讨论(0)
  • 2021-02-01 01:55

    You could convert it to a data.frame only for printing:

    iris_dt = as.data.table(iris)
    print(as.data.frame(iris_dt))
    
    0 讨论(0)
  • 2021-02-01 01:55

    A messy option, but you could always export it into excel to view it with excels convenience.

    library(xlsReadWrite)
    write.xls(mydata, "c:/mydata.xls")
    
    0 讨论(0)
  • 2021-02-01 02:05

    To print the top 60 and bottom 60 lines (default is top 5 and bottom 5):

    print(dtIris, topn = 60)
    
    0 讨论(0)
提交回复
热议问题