Я пытаюсь применить функцию только к определенным строкам, которые соответствуют моим условиям. Я видел из других потоков, что я должен использовать функцию «apply», но я не могу заставить ее работать.
Вот то, что я до сих пор:R: Применение функции только к определенным строкам
a = which(decisionMatrix[,1]>0 & decisionMatrix[,4] < decisionMatrix[,5] &
tail(ratios,1)>decisionMatrix[4])
Который дает мне номера строк, которые удовлетворяют мои условия.
Затем я использую:
apply(decisionMatrix[10],a,decisionMatrix[,1]/decisionMatrix[,5])
То, что я пытаюсь сделать здесь говорят, «для каждой строки, которая удовлетворяет указанным выше условиям, принять первый столбец в этой строке и разделить его на пятую колонну в эту строку и сохранить результат в 10-м столбце этой строки «
Может ли кто-нибудь дать мне совет?
Вы можете использовать 'Ā' для подмножества из вашего объекта "decisionMatrix"(' DMsubset <- decisionMatrix [а,] '), а затем' apply' по строке: «apply (DMsubset, 1, ------)» (где 1 = по строке и ------ = любой расчет, который вы хотите сделать). – A5C1D2H2I1M1N2O1R2T1