【问题标题】:Creating Bin Lengths in R在 R 中创建 bin 长度
【发布时间】:2017-01-25 19:31:35
【问题描述】:

我有一个包含冲浪蛤长度的数据库,我想为其创建 bin 长度。这些蛤蜊的长度从 20 厘米到 180 厘米不等。我想以 3 厘米的增量将这些长度组合在一起。例如,长度 1、2 或 3 的 bin 长度为 3,长度 4、5 和 6 的 bin 长度为 6,7、8、9 的 bin 长度均为 9,以此类推。

我想要的 bin 类别是 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 1078 111 1214 1 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180。

我还需要将 FREQ 与被合并在一起的长度一起添加。例如,如果我的长度为 58 cm (FREQ = 2)、59 cm (FREQ = 1) 和 60 cm (FREQ = 5),则最终结果应该是 60 cm,频率为 8。

STA     DATE        SPP LENG FREQ
5002    06/12/85    403 82  1
5002    06/12/85    403 90  1
5002    06/12/85    403 94  2
5002    06/12/85    403 98  1
5002    06/12/85    403 99  1
5002    06/12/85    403 102 1
5002    06/12/85    403 105 1
5002    06/12/85    403 106 1
5002    06/12/85    403 107 1
5002    06/12/85    403 111 1
5003    06/12/85    403 75  1
5003    06/12/85    403 76  1
5003    06/12/85    403 92  1
5003    06/12/85    403 93  1
5003    06/12/85    403 95  1
5003    06/12/85    403 151 1
5004    06/12/85    403 130 1
5004    06/12/85    403 140 1
5004    06/12/85    403 143 1
5004    06/12/85    403 144 1
5004    06/12/85    406 145 1
5004    06/12/85    403 146 1
5004    06/12/85    406 147 1
5004    06/12/85    403 153 1

我对 R 还很陌生,所以我不确定如何去做。请帮忙!

【问题讨论】:

  • 所以你想让它像一个天花板而不是最近的 3?
  • 这篇文章可能是一个起点:stackoverflow.com/questions/27839432/…
  • 您能否运行dput(df) 并在此处复制结果,以便我可以轻松复制您的data.frame?

标签: r


【解决方案1】:

我相信这回答了你的问题--

dat$bins<-ceiling(dat$LENG/3)*3
ndat<-aggregate(dat[,c('FREQ')],by=list(dat$STA,dat$DATE,dat$SPP,dat$bins),FUN=sum)

【讨论】:

    【解决方案2】:

    cut() 函数将数值转换为分箱因子。

    cutoff_lengths <- seq(0, 180, by = 3)
    df$BIN <- cut(df$LENG, cutoff_lengths, labels = cutoff_lengths[-1])
    table(df$BIN)
    

    cutoff_lengths[-1] 表示标签除了cutoff_lengths 的第一个值外。因为每个 bin 都在两个切割点之间,所以 bin 比切割点少一个。而且你想四舍五入,所以最低的切点不被用作标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多