hospital_code
10レベル のカテゴリ変数を持つデータセットがあります。
私が実行しているプログラムはループしてデータのサブセットを取得し、変数compLbl
に10個のhospital_codeのうち2つが含まれるようにして、相互に比較できるようにします。現在、各ループで、compLblをバイナリコード(1と0)にする必要がある状況があります。
compLblの可能な値がである最初のループからサブセットデータを取得するだけの場合、AMH
次のBJH
ように簡単にこれを行うことができます。
nData$compLbl2 = with(nData,(ifelse(compLbl == "AMH", 1,0)))
そして、次のようなデータを取得します。
head(nData)
compLbl outLbl Race_Code Age Complexity_Subclass_Code compLbl2
1 AMH 0 W 63 1 1
2 AMH 0 W 44 2 1
3 AMH 0 W 88 3 1
4 BHC 0 W 64 1 0
5 BHC 0 W 61 2 0
6 BHC 0 W 61 1 0
これを一般化して、2つの値が何であっても、compLbl
それらをバイナリコード化するにはどうすればよいですか?私の考えは、因子変数compLblに存在する2つの値について、因子レベル1を参照することによってこれを行うことでした。このような:
nData$compLbl2 = with(nData,(ifelse(FACTORLEVEL(compLbl) == 1, 1,0)))
上記の例では、Rが自動的に割り当てるファクターレベルであるため、1と2をFACTORLEVEL(compLbl)
返します。ただし、これを行う方法、またはそれが可能かどうかはわかりません。AMH
BHC