r - 如何按分位数对数据进行分组
问题描述
如果我有一个客户购物费的data.frame,我需要将客户按分位数分成4组,我应该如何编写R代码?
现在我只得到这个...
quantile(cus.df$Fee, probs=seq(from=0,to=1,by=0.2))
解决方案
如果您只想创建一个新变量,其中每一行根据 1 列中的值获得 1、2、3 或 4,您可以执行以下操作:
library(dplyr)
mtcars %>%
mutate(quantilegroup = ntile(qsec, 4)) %>%
head(6)
mpg cyl disp hp drat wt qsec vs am gear carb quantilegroup
1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 1
2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 2
3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 3
4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 4
5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 2
6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 4
推荐阅读
- typescript - 如何通过值获取 Typescript 字典中的键?
- python-3.x - 如何在 html 代码中找到文本区域并使用 Selenium 在 Python 中修改标签内的文本
- c# - asp.net类库中的Webforms
- excel - 数组重复问题
- java - 在 Spring 批处理中将属性注入 FlatFileItemWriter
- ruby-on-rails - 使用 .deliver_later 发送电子邮件时出现序列化错误
- google-bigquery - 如何修复 BigQuery 中缓慢的 _TABLE_SUFFIX 查询?
- java - 独立应用程序要求最终用户输入一些详细信息
- linux - 用于杀死早于 x 时间的进程的 Bash 脚本 - 表达式中的语法错误
- javascript - 电子邮件验证功能无法与表单按钮一起正常工作