如何避免在R data.table的STOUT中显示标题?

时间:2017-05-01 05:26:01

标签: r

我试图避免在R {'1}}输出的STOUT中显示标题。 Akrun在相关线程中说data.table可以使用空路由。

  

如果您对NULL路线不满意,则可能需要通过修改现有打印来创建自定义打印功能

代码

print

输出我想避开STOUT中的第一个标题行

library(data.table)

# http://stackoverflow.com/a/43706344/54964

DF[time < 8]

1 个答案:

答案 0 :(得分:5)

我们可以使用unname

unname(DF[time <8])[]

# 1: Acute 0.0  0 A 6 0.000000
# 2:    An 7.7 26 B 6 1.283333
# 3:    Fo 0.0  0 B 5 0.000000
# 4: Acute 7.5  1 C 6 1.250000
# 5:    An 7.9 43 C 6 1.316667
# 6:    En 0.0  0 C 6 0.000000
# 7:    Fo 5.4  1 C 5 1.080000
# 8:    An 7.8 77 D 6 1.300000
# 9:    En 0.0  0 D 6 0.000000
#10:    Fo 0.0  0 D 5 0.000000
#11: Acute 0.0  0 E 6 0.000000
#12:    An 7.9 60 E 6 1.316667
#13:    Fo 0.0  0 E 5 0.000000
#14:    Fo 7.9  3 F 5 1.580000

避免空行的一个选择是

cat(trimws(capture.output(unname(DF[time <8]))[-1]) , sep="\n")
#1: Acute 0.0  0 A 6 0.000000
#2:    An 7.7 26 B 6 1.283333
#3:    Fo 0.0  0 B 5 0.000000
#4: Acute 7.5  1 C 6 1.250000
#5:    An 7.9 43 C 6 1.316667
#6:    En 0.0  0 C 6 0.000000
#7:    Fo 5.4  1 C 5 1.080000
#8:    An 7.8 77 D 6 1.300000
#9:    En 0.0  0 D 6 0.000000
#10:    Fo 0.0  0 D 5 0.000000
#11: Acute 0.0  0 E 6 0.000000
#12:    An 7.9 60 E 6 1.316667
#13:    Fo 0.0  0 E 5 0.000000
#14:    Fo 7.9  3 F 5 1.580000

为了更好地格式化,可以避免trimws

cat(capture.output(unname(DF[time <8]))[-1] , sep="\n")
# 1: Acute 0.0  0 A 6 0.000000
# 2:    An 7.7 26 B 6 1.283333
# 3:    Fo 0.0  0 B 5 0.000000
# 4: Acute 7.5  1 C 6 1.250000
# 5:    An 7.9 43 C 6 1.316667
# 6:    En 0.0  0 C 6 0.000000
# 7:    Fo 5.4  1 C 5 1.080000
# 8:    An 7.8 77 D 6 1.300000
# 9:    En 0.0  0 D 6 0.000000
#10:    Fo 0.0  0 D 5 0.000000
#11: Acute 0.0  0 E 6 0.000000
#12:    An 7.9 60 E 6 1.316667
#13:    Fo 0.0  0 E 5 0.000000
#14:    Fo 7.9  3 F 5 1.580000