前幾天我發佈了this question,其中討論瞭如何在相關列中存在NAs時尋找並行最大值。但是,我意識到我並沒有提出正確的問題。我真正想要完成的是能夠找到一行的並行最大值,但只有當一個關鍵列等於NA時纔可以。僅當密鑰列是NA時纔在列之間查找並行最大值
下面是相同的數據。例如:
df1
ID Score1 Score2 Score3
1 2 3 1
2 5 1 2
3 1 6 8
4 9 10 NA
讓Score3變量代表this'key」列。也就是說,我想計算一個新變量Score4,它僅在Score3 = NA時代表3個得分變量中的最大分數,否則(當Score 3不等於NA時)代表Score3的值。
在這裏,我想看到的結果是,在應用一些功能FUN
:
df2<-FUN(df1)
df2
ID Score1 Score2 Score3 Score4
1 2 3 1 1
2 5 1 2 2
3 1 6 8 8
4 9 10 NA 10
謝謝!
感謝您的代碼。我之前沒有使用data.table,當我嘗試在我的實際數據上運行它時,出現此錯誤:unused argument(by = 1:nrow(df))。我確定我犯了一個簡單的錯誤,但我不確定在哪裏。有小費嗎? – lecreprays
我不知道爲什麼你會得到。你是否嘗試運行我寫的內容? – ahly