【发布时间】:2013-10-14 20:08:57
【问题描述】:
我正在尝试仅将函数应用于满足我的条件的某些行。我从其他线程中看到我应该使用“应用”功能,但我似乎无法让它工作。
这是我到目前为止所拥有的:
a = which(decisionMatrix[,1]>0 & decisionMatrix[,4] < decisionMatrix[,5] &
tail(ratios,1)>decisionMatrix[4])
这给了我符合我的条件的行数。
然后我使用:
apply(decisionMatrix[10],a,decisionMatrix[,1]/decisionMatrix[,5])
我在这里要做的是说“对于满足上述条件的每一行,取该行中的第一列并将其除以该行中的第五列并将结果存储在该行的第 10 列中行”
谁能给我一些建议?
【问题讨论】:
-
您可以使用
a从您的“decisionMatrix”对象 (DMsubset <- decisionMatrix[a, ]) 中提取子集,然后将apply按行排列:apply(DMsubset, 1, ------)(其中 1 = 按行排列,并且 -- ---- = 你想做的任何计算)。