我正在用更快的應用函數替換所有循環。我有一個問題,使功能取決於前一列。具有相同矩陣的列取決於列
目前,我需要根據考試成績,這是有可能使用
data <- matrix(runif(100),20,5)
colnames(data) <- letters[1:5]
sapply(colnames(data),function(x){
ifelse((data[,x] <= 0 & data[,x] < 0.50),'C',
ifelse((data[,x] >= 0.50 & data[,x] < 0.70) ,'B','A'))})
但是分配了一個檔次,是可以繼續使用的應用功能和擴展的代碼,這樣不管列如果將'C'返回到該列右側的所有後續等級,則在該行中替換爲'C'。
由於一百萬
R.
'apply'命令族並不總是更快。另外,如果你描述你想要的更好,我們可能會提供幫助。請告訴我們你的意圖,而不是傾銷一些我們必須解析的代碼(可能或可能實際上可能不是你想要的!) –
對不起,我正在爲我的設施中的大學生彙總成績。我需要將數字等級轉換爲字母,分數在40-50 = D之間,50-60 = C之間等等。這是由上面的代碼照顧。對於課程的持續評估部分,如果學生的成績低於某個等級,學生將需要重複 - 不管後續的CA成績如何。我目前在一個循環中執行此操作,但我認爲使用apply函數可能更乾淨更快捷。感謝您的幫助,R. – user1493174