2014-10-02 20 views
2

this類似012問題,我有一個浮點數據框,我想將其轉換爲一組布爾值。測量R中多個二進制輸出神經網絡的精度

具體而言,我想要經過其中每個單元被替換爲「如果該小區是最大該行中的所有單元的」

例如,給定下列數據的矩陣(data.frame) .frame,

row.names net.result.1 net.result.2 net.result.3 net.result.4 
1   0.000013,  0.0156616, 0.000005, 0.999959 
2   0.000046,  0.0145417, 0.000005, 0.999945 
3   0.938103,  0.0043157, 0.000007, 0.002126 
4   0.000000,  0.0000000, 0.999811, 0.000000 

產生以下二進制值:

FALSE, FALSE, FALSE, TRUE 
FALSE, FALSE, FALSE, TRUE 
TRUE, FALSE, FALSE, FALSE 
FALSE, FALSE, TRUE, FALSE 

我怎麼會去這樣做呢?

回答

2

例如:

dat == apply(dat, 1, max) 
     V1 V2 V3 V4 
[1,] FALSE FALSE FALSE TRUE 
[2,] FALSE FALSE FALSE TRUE 
[3,] TRUE FALSE FALSE FALSE 
[4,] FALSE FALSE TRUE FALSE 
+0

這似乎只返回最大值的向量。 'max'運算符似乎正在返回每一行的最大值。 – Peaches491 2014-10-02 21:49:21

+0

我已經用我的數據更詳細的表示更新了這個問題 – Peaches491 2014-10-02 21:53:44

+1

@ Peaches491對不起,我沒有明白你的觀點。 'apply(dat,1,max)'返回每一行的最大值,我比較你的矩陣x ... – agstudy 2014-10-02 22:43:15