head和tail不将负数作为data.table的参数?

时间:2013-09-20 17:12:05

标签: r data.table

为什么headtaildata.table的工作方式不同?这是设计吗?

> head(data.frame(x=1:10), -2)
  x
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
> head(data.table(x=1:10), -2)
Error in seq_len(min(n, nrow(x))) : 
  argument must be coercible to non-negative integer
> tail(data.table(x=1:10), -2)
    x
1: NA
2: NA
3: NA
4: 10
> tail(data.frame(x=1:10), -2)
    x
3   3
4   4
5   5
6   6
7   7
8   8
9   9
10 10

1 个答案:

答案 0 :(得分:8)

是的,之前已经报道了#2375。现在已在v1.8.11中修复此问题。来自NEWS

  

head()tail()现在正确处理负'n'值,#2375。感谢Garrett See的报道。在length(n) != 1时也会导致错误。测试补充说。