r - 如何根据特定间隔创建新列
问题描述
我想根据另一列“dim”中的间隔在我的数据框中创建一个新列
例如:
我的数据集是:
df1
id dim
1 25
2 34
3 60
4 65
5 80
6 82
7 90
8 95
9 110
10 120
I would like the follow data set below using the interval by 20 (my column begin with 25 for a new column x
factors: 25:44 = 1 45=64= 2 and so on...
df2
id dim x
1 25 1
2 34 1
3 60 2
4 65 3
5 80 3
6 82 3
7 90 4
8 95 4
9 110 5
10 120 5
有人可以帮我吗?
解决方案
你可以用floor
一些数学来做到这一点:
df <- data.frame(id = 1:10, dim = c(25, 34, 60, 65, 80, 82, 90, 95, 110, 120))
df$x <- floor((df$dim - min(df$dim)) / 20) + 1
# id dim x
#1 1 25 1
#2 2 34 1
#3 3 60 2
#4 4 65 3
#5 5 80 3
#6 6 82 3
#7 7 90 4
#8 8 95 4
#9 9 110 5
#10 10 120 5
减去最小的条目df$dim
以开始您的第一个类别;除以 20 得到区间大小;将地板向下舍入,并加 1 以适当地向上移动所有内容。
推荐阅读
- .net - 使用带有 Saxon.Api(.NET 版本)的 XSD 断言的 XML 日期验证
- python-3.x - PyPDF2 写入损坏的文件
- sql - Postgres SQL 按最近日期选择两个字段,一个字段必须是唯一的
- python - 如何从 Mysql 数据库中删除列表框 Python Tkinter 中选择的项目
- c# - 如何在不使用 foreach 循环的情况下从列表中打印 X 个名称?
- node.js - 无法将变量从 app.js 传递到节点中的另一个文件
- python - 使用 bs4 和 python 删除 html 代码中的隐藏行
- linux - 如何链接“mimetype -b”和“find”命令以在同一 csv 中获取文件名和文件类型?
- loadrunner - web_reg_save_param_regexp loadrunner- 未提取值
- java - 使用 snakeyaml 动态生成 YAML 文件