r - 根据列值将数据框拆分为从 0 到 1 的 X 组
问题描述
我对 R 相当陌生,找不到解决问题的简洁方法。
我在 R 中有一个名为 df 的数据框,看起来像这样。它包含一个名为 values 的列,其中包含按数字排序的 0 到 1 的值,以及一个名为 flag 的二进制列,其中包含 0 或 1。
df
value flag
0.033 0
0.139 0
0.452 1
0.532 0
0.687 1
0.993 1
我希望将此数据框拆分为从 0 到 1 的 X 个组,对values
列进行分箱。例如,如果我希望进行 4 拆分分组,则数据将从 0-0.25、0.25-0.5、0.5-0.75、0.75-1 拆分。该数据还将包含该点的相应标志。
答案应仅使用 DATAFRAME 格式作为输入,仅使用此问题中所述的列,并且仅使用来自 TIDYVERSE、CARET 或 DATA.TABLE 的包。
我希望解决方案具有可扩展性,因此如果我希望将其分成更多组,那么我可以。
有人对此有解决方案吗?谢谢
解决方案
我看不出你之前得到的答案是如何不可扩展的,他们使用没有包的原生 R ......如果n
是你想要的分区数:
n = 4
L = seq(1,n)/n
GroupedList = lapply(L,function(x){
df[(df$value < x) & (df$value > (x-(1/n))),]
})
推荐阅读
- eslint - 有没有办法向内联规则禁用评论添加原因评论?
- python - 使用flask将每个字符串值插入表SQL
- javascript - 如何使用 java 脚本获取跨度文本以通过 GTM 将其传递给 GA
- excel - VBA:循环直到不隐藏随机行
- c# - 左连接的对象结果为空 c#
- mysql - Mysql 插入查询报错 >= not valid at this position 错误
- html - Safari 上 DIV 的填充在左侧被跳过
- linux - dpkg 尝试安装软件包时出错-“无法打开软件包 linux-headers-generic 的文件列表文件:没有这样的设备或地址”
- android - ANR 向可穿戴设备发送大文件
- javascript - 为什么在一种情况下对数组(作为参数传入)的更改在函数外部维护,而在另一种情况下则不然?