我的數據框的子集轉換正數值爲因子R
> IntensityIndex
Individual X1980LLTper X1981LLTper X1982LLTper
1 4789.337905 15..099139
1201 32.470518 0.000000 27.880136
2231 0.000000 0.000000 0.000000
3331 20.200198 964.691700 4.367191
8545 40.367227 11.844057 2.227061
10031 10.425561 68.817743 29.815259
13543 65.883538 364.601077 16.630508
15843 7.161902 0.000000 1909.549849
23349 18704.452730 0.000000 0.000000
24901 3.347454 0.000000 72.299520
25901 822.430973 414.693913 3265.319947
50439 15.058856 11.638729 0.000000
我需要的所有值> 0轉換爲1.數值變量所以我想實現:
Individual X1980LLTper X1981LLTper X1982LLTper
1 1 1 1
1201 1 0.000000 1
2231 0.000000 0.000000 0.000000
etc.
然後,我會在進一步分析中將這些作爲虛擬變量與factor()函數一起使用。
請記住,這個數據作爲一個更大的數據集,從1980年至2012例如部分存在:
$X1980LLTper, $X1981LLTper, ... $X2012LLTper
以及一系列單個變量(收入,年齡,性別等)
如果任何解決方案包含一個簡潔的代碼,我可以將生成的虛擬變量的矩陣附加到我的較大數據集,我將不勝感激。
@Sotos的建議下,我得到這個: 「在'[<錯誤 - data.frame'(。 '* tmp *',IntensityIndex [,-1]> 0,value = 1): 不支持的替換矩陣索引' – Recon93
您也可以嘗試'IntensityIndex [, - 1] < - ifelse(IntensityIndex [, - 1]> 0,1,0)' – Marcel10
@MarcelG感謝隊友,做到了! :)乾杯 – Recon93