0
獲得值的出現我已經在多個問題中搜索了類似的內容,但是我無法找到我正在尋找的內容。 如果這篇文章是重複的,那麼我很抱歉,如果你能把我轉到正確的問題,我將不勝感激。在發佈這個問題之前根據條件
,我有以下數據:
data<-data.frame(a=c(0:10),b=c(5:15),c=c(10:20),d=c(1:5,15:20))
和我「簡單的」尋找與最大值,以獲得該行的列名。我做到與
names(data)[apply(data,1,which.max)]
其實這個任務,因爲有兩列(C & d [6:10]),它符合最高的情況下,我真的想獲得是一樣的東西:
result<-c("c","c","c","c","c","double","double","double","double","double")
因此,由於.max的行爲只允許(至少在我看來)只得到第一個元素,我想到了什麼可以是一個非常複雜的解決方案。 查找每行的重複元素,然後,如果這些索引中的任何一個與來自與.max代碼中的索引匹配,則將其更改爲「double」。或多或少像這樣:
index<-t(apply(data,1,function (x) duplicated(x,fromLast=TRUE)))
colnames(index)<-colnames(data)
再次提示任何技巧將超過讚賞!
嗯,不幸被這樣看來我得到最大價值的指標在所有數據,不僅行。無論如何,謝謝你的建議! – stefano
@stefano檢查我編輯的答案。 – dickoa
這就是我正在尋找的!非常感謝你的幫助,我非常感謝! – stefano