現在,我有數據集包括的變量Gbcode
和ncnty
將值分配給一個變量,而不是使用if語句
> str(dt)
'data.frame': 840 obs. of 8 variables:
$ Gbcode : Factor w/ 28 levels "11","12","13",..: 21 22 23 24 25 26 27 28 16 17 ...
$ ncounty : num 0 0 0 0 0 0 0 0 0 0 ...
我想要做以下的事情:
如果數據記錄與Gbcode
等於11,然後分配到20其ncnty
Gbcode
:11,12,13,14,15,21,22,23,31,32,33
心病響應ncnty
:20,19,198,131,112,102,60,145,22,115,95
我想知道是否有更好的解決方案,而不是寫一個if
語句,這將有許多行在這種情況下,可能少於20行代碼。
'dt $ ncounty [dt $ Gbcode ==「11」] < - 20' –
有很多這個問題的帖子 dt [dt $ gbcode == 11,「ncnty」] = 20 –
@MattTyers您好馬特,謝謝!這比if語句更好。但是,實際上我有20個獨特的Gbcode,通過使用你的代碼,我需要寫20行代碼。我想知道在這種情況下是否要寫少於20行的代碼。再次感謝! – user129343