我試圖重塑以下data.table喜歡應急表(不完全是因爲我不希望得到的頻率值,我只是想爲0或1):如何在R中重新構造data.table或data.farme而不增加頻率?
Df的:
ID CC
990081899A CC2
990081899A CC115
990081899A CC39
990081899A CC39
990081899A CC115
990002362D CC2
990002362D CC115
990002362D CC115
990002362D CC115
990002362D CC6
990042716D CC2
我想兩件事情,但得到相同的結果如下:
第一:
Contingency<-with(Df, table(ID,CC))
Diag6<- cbind(ID = rownames(Contingency), apply(Contingency, 2 , as.character))
二:
我添加值列在像值= 1的數據: Df的:
ID CC Value
990081899A CC2 1
990081899A CC115 1
990081899A CC39 1
990081899A CC39 1
990081899A CC115 1
990002362D CC2 1
990002362D CC115 1
990002362D CC115 1
990002362D CC115 1
990002362D CC6 1
990042716D CC2 1
,並試圖:
Df<- data.table(dcast(Df,ID~CC,value.var="Value"),key="ID")
兩個結果都相同:
ID CC115 CC2 CC39 CC6
990081899A 2 1 2 0
990002362D 3 1 0 1
在這裏,我不想要的頻率,我只是想如果它存在的價值應該是一個否則0:
ID CC115 CC2 CC39 CC6
990081899A 1 1 1 0
990002362D 1 1 0 1
任何建議,非常感謝。
快速的解決方法可能只是更換0 1 – Ananta
謝謝阿南塔比你其它值,這是最後的選擇,但我的數據量太大,所以我所有正值轉換爲
1
避免額外的代碼行。 – nsDataSci