在R如何bin数据?

时间:2017-03-31 17:28:45

标签: r pipe histogram

我有这样的傻瓜。

# A tibble: 200,000 × 3
   Steps Distance   run
   <int>    <dbl> <chr>
1   1000 33.32683     0
2   2000 35.02510     0
3   3000 36.19157     0
4   4000 37.82663     0
5   5000 36.30477     0
6   6000 37.78146     0
7   7000 38.62345     0
8   8000 34.84085     0
9   9000 37.05461     0
10 10000 43.02439     0
11 10000 44.12345     1

我想使用&#34;运行&#34;的group_by。 然后将值加入特定数量的二进制数。 做这样的事。

run Interval Count
0   0-10     xx
0   10-100   xx
1   0-10     xx

我发现了类似&#34; bin_data&#34;这样的功能,但它与group_by不兼容。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以先对数据进行分区,然后使用summary和n来计算每组中的观察数。

data_frame(Group = sample(letters[1:2],20,replace = T),Value=runif(20,0,5)) %>%
  mutate(Bin = cut(Value,breaks = 0:5)) %>%
  group_by(Group,Bin) %>%
  summarise(Count = n())

Source: local data frame [8 x 3]
Groups: Group [?]

  Group    Bin Count
  <chr> <fctr> <int>
1     a  (0,1]     1
2     a  (1,2]     6
3     a  (2,3]     2
4     a  (4,5]     4
5     b  (0,1]     1
6     b  (1,2]     2
7     b  (3,4]     2
8     b  (4,5]     2