data.tableを使用して変数を再コードしようとしています。私は約2時間のためにグーグルを行ったが、答えを見つけることができませんでした。data.tableを使用して変数を再コードする
は、私は、次のようdata.tableがあるとします。
DT <- data.table(V1=c(0L,1L,2L),
V2=LETTERS[1:3],
V4=1:12)
私はV1とV2を再コーディングします。 V1については、1と0を、2を1に再コードしたい。 V2では、AからT、BからK、CからDにコードを変更したい。
dplyr
を使用すると簡単です。
library(dplyr)
DT %>%
mutate(V1 = recode(V1, `1` = 0L, `2` = 1L)) %>%
mutate(V2 = recode(V2, A = "T", B = "K", C = "D"))
は、しかし、私は上記の私が私の最高のように考えることができるコードがどのように
DT[V1==1, V1 := 0]
DT[V1==2, V1 := 1]
DT[V2=="A", V2 := "T"]
DT[V2=="B", V2 := "K"]
DT[V2=="C", V2 := "D"]
data.table
でこれを行うには考えています。しかし、これを行うにはより良い方法と効率的な方法が必要です。編集
私は私の例では、より一般的にするためにV2を再コーディングする方法を変更しました。
'' C''を '' D '''に変更したいので、あなたの 'V2'は文字でなければならないと思いますか?私はあなたが 'V2'をコード化する方法について正確に間違っているかもしれませんが、 –
@MikeH。はい、「V2」はおそらく文字でなければなりません。 – user3077008