首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中创建Bin Length

在R中创建Bin Length
EN

Stack Overflow用户
提问于 2017-01-26 03:31:35
回答 2查看 200关注 0票数 0

我有一个数据库,我想要为其创建仓位长度的冲浪周期长度。这些文昌鱼的长度从20厘米到180厘米不等。我想把这些长度以3厘米为增量放在一起。例如,长度为1、2或3的条柱长度为3,长度为4、5和6的条柱长度为6,7、8、9都为条柱长度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 108 111 114 117 123 126 129 132 135 138 141 144 150 153 156 159 162 165 168 171 174 177 180。

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

代码语言:javascript
复制
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的新手,所以我不知道该怎么做。请帮帮我!

EN

回答 2

Stack Overflow用户

发布于 2017-01-26 03:44:05

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

代码语言:javascript
复制
dat$bins<-ceiling(dat$LENG/3)*3
ndat<-aggregate(dat[,c('FREQ')],by=list(dat$STA,dat$DATE,dat$SPP,dat$bins),FUN=sum)
票数 0
EN

Stack Overflow用户

发布于 2017-01-26 05:42:51

cut()函数将数字转换为二进制因子。

代码语言:javascript
复制
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的第一个值。因为每个面元都在两个切入点之间,所以每个面元比切点少一个面元。你想要四舍五入,所以最低的切割点不会被用作标签。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41860087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档