1
我有一個我想歸一化的記分矩陣。爲了做到這一點,我只想將所有負值除以最小值,將所有正值除以最大值(這使得每個值都爲正值,並且在0和1之間,矩陣中有兩個值)。腳本賦值忽略了NAs
如果沒有NAs,這很好。
scores[scores < 0] <- scores[scores < 0]/min(scores, rm.na=T)
scores[scores > 0] <- scores[scores > 0]/max(scores, rm.na=T)
scores
我只是想忽略NA並將它們視爲FALSE。 min
和max
在指定時已經很好地處理了NA,但是有沒有辦法讓<
/>
的行爲也如此?
例如適用:
1 NA T T
NA 2 > 0 == T T
-1 -2 F F
怎麼辦
1 NA T F
NA 2 ? 0 == F T
-1 -2 F F
因爲你的邏輯檢查不包括'0',你可以將所有' NA'值改爲'0'。或者使用'分數[分數<0&!is.na(分數)]'。 – Justin
啊謝謝!所以'&'*會*用TRUE替換NA。但不是很漂亮:分數[分數<分數<分數] <分數[分數<分數>(分數)] /分鐘(分數,分數= T)' –
和當然,我不需要用保證爲零的零來代替零,但是我需要保持NAs :) –