我在Windows 7上運行Rstudio 0.99.489和R-3.2.3如何禁用底部的data.table名稱?
如何避免在數據底部打印V1和N?
options(datatable.print.nrows = Inf)
dt <- data.table(sample.int(2e3, 1e4, T))
print(dt[ , .(.N), V1])
...
1980: 419 1
1981: 898 2
1982: 1260 1
V1 N
我在Windows 7上運行Rstudio 0.99.489和R-3.2.3如何禁用底部的data.table名稱?
如何避免在數據底部打印V1和N?
options(datatable.print.nrows = Inf)
dt <- data.table(sample.int(2e3, 1e4, T))
print(dt[ , .(.N), V1])
...
1980: 419 1
1981: 898 2
1982: 1260 1
V1 N
您可以將對象的打印操作爲常規字符向量。
library(data.table)
options(datatable.print.nrows = Inf)
dt = data.table(sample.int(2e3, 1e4, T))
myprint = function(x){
prnt = capture.output(print(x))
cat(prnt[-length(prnt)], sep="\n")
}
myprint(dt[ , .(.N), V1])
下面是需要考慮的一個選擇。由於data.table
s增強data.frame
s,爲什麼不只是使用print
方法data.frame
s?這樣,您既可以打印輸入的所有行,也可以在底部顯示列名。
例如,以下數據集足以說明在底部打印名稱的行爲。
set.seed(1)
dt <- data.table(sample(21, 1000, TRUE)) ## Sufficient to demonstrate behavior
dt[, .N, by = V1] ## Shows the names at the bottom
你可以手動指定print.data.frame
方法,像這樣:
print.data.frame(dt[, .N, by = V1]) ## Specify use of data.frame print method
或者,因爲你不打印的東西會影響你原來data.table
,你也可以做這樣的事情:
setDF(dt[, .N, by = V1])[] ## dt stays a `data.table`
尤其是因爲他們已經設置了'datatable.print.nrows = Inf' ... – MichaelChirico