这应该很简单,但我无法弄清楚最简单的方法。我想将列减少到更简单的范围。看看下面的数据集:根据截止值创建列
white black
2000 2100
2050 2000
2100 2200
2150 2300
2240 2240
2300 2550
2400 2450
2500 2150
2850 2000
我想创建一个新的列白色$秩和黑色$排名在数值范围2000-2100得到的值为1,2100-2200得到的值为2,依此上。
white_rank black_rank
0 1
0 0
1 2
1 3
2 2
3 5
4 4
5 1
8 0
,我感到我可以通过像 实现这一white_class < - SUBSTR(DF $白色,2,2)
但我希望有一个更灵活的解决方案,我可以让white_rank采取任何价值。基本想法是生成一个序列,用于划分截止点seq(2000,2900, 100)
,然后根据行是否满足这些截点来分配唯一值。
请搜索切换功能 – MichaelChirico
是的,是这样的: 'DF $秩< - 切(变量,符= C(SEQ(2000,3000,100 )),标签= 0:9) df [is.na(df)] < - 0' – PereG
完美。谢谢。 – Parseltongue