這應該很簡單,但我無法弄清楚最簡單的方法。我想將列減少到更簡單的範圍。看看下面的數據集:根據截止值創建列
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