剪下向量并自动使尾部或其他极端变得更复杂吗?

时间:2018-12-21 23:33:37

标签: r

这是一个数据框:

x <- data.frame(
  blah = letters[1:6],
  y = c(1,2.2,3,4.3,5.5,8)
)

如果我然后使用cut添加一些垃圾箱:

x %>% mutate(z = cut(y, 0:5))

结果:

  blah   y     z
1    a 1.0 (0,1]
2    b 2.2 (2,3]
3    c 3.0 (2,3]
4    d 4.3 (4,5]
5    e 5.5  <NA>
6    f 8.0  <NA>

那些NA值。在这种情况下,我想告诉r使用最大的bin,因为5是我的bin输入向量中的最大值。

有没有一种方法可以自动包含输入向量中的孤立值?也就是说,我希望数据以1到5的增量减少,然后将其他所有内容仅减少一个bin。

1 个答案:

答案 0 :(得分:2)

那呢?

x %>% mutate(z = cut(y, c(0:5, max(y))))
#   blah   y     z
# 1    a 1.0 (0,1]
# 2    b 2.2 (2,3]
# 3    c 3.0 (2,3]
# 4    d 4.3 (4,5]
# 5    e 5.5 (5,8]
# 6    f 8.0 (5,8]