我试图仅将函数应用于满足我的条件的某些行。我从其他线程中看到我应该使用“apply”函数,但我似乎无法让它工作。
这是我到目前为止所拥有的:
a = which(decisionMatrix[,1]>0 & decisionMatrix[,4] < decisionMatrix[,5] &
tail(ratios,1)>decisionMatrix[4])
Run Code Online (Sandbox Code Playgroud)
这给了我满足我的条件的行数。
然后我使用:
apply(decisionMatrix[10],a,decisionMatrix[,1]/decisionMatrix[,5])
Run Code Online (Sandbox Code Playgroud)
我在这里想做的是“对于满足上述条件的每一行,取该行中的第一列,并将其除以该行中的第五列,并将结果存储在该行的第 10 列中”
有人能给我一些建议吗?
不要使用apply. 要就地修改行,只需执行以下操作:
decisionMatrix[a, 10] <- decisionMatrix[a, 1] / decisionMatrix[a, 5]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10419 次 |
| 最近记录: |