我有這樣的數據:添加列和值支持算法FMP其他幾列
id diag1 diag2 diag3 diag4 diag5 diag5 diag 6 diag7 diag8 diag9
26 V3000 75261 V053 V290
23 V3001 75261 V053
24 V3000 75537 75567 V053
19 V3001 7503 7613 7746 7631 7560 V290 76529 V1819
29 V3001 77989 7470 7852 V053
31 V3000 75261 79415 77989 V053
33 V3000 7700 75329 7705 7750 7706 77089 7746 7661 75251
20 V3000 7530 7795 76529 V053 V183
17 V3000 75329 7788 V053
22 4659 7862 7455 V7285
21 V3000 7503 77181 7579 7560 75251
30 V3000 7470 V053
27 V3000 76519 7470 7726 7746 76719 76528 V053 V502
我想補充VAR D1-D40,其值是基於:
如果從DIAG1到diag9有' 75261' ,則D1 = 1,否則D1 = 0
如果從DIAG1到diag9有 '7700',那麼D2 = 1,否則D2 = 0
如果從DIAG1到diag9有 '7613' '75329',那麼D3 = 1 else d3 = 0
如果從DIAG1到diag9有 '7470', '7746',那麼D4 = 1e中; SE D4 = 0 等
我使用的代碼是這樣
bd$d40 = 0
for (i in ncol(bd){
if (bd[,i] %in% ('75261')) {bd[,'d40'] = 1}
}
但他們不工作。 謝謝。
幾件事情:1)缺少')'你爲'聲明。 2)你的'in'陳述的順序是錯誤的。也許你打算做'ifelse'和'=='? 3)你的循環將每次迭代改變整個'd40'列。這是沒有意義的。 –
嗨,歡迎來到SO!因爲你是新來的,請花些時間閱讀[**關於Stackoverflow **](http://stackoverflow.com/about)和[**當某人回答**時該怎麼辦](http:// stackoverflow .COM /幫助/人,答案)。乾杯。 – Henrik