假设您有银行帐户信息:

a=data.frame(Transaction=c(1,2,6,3,8,3,5.25,6.99,2,5),type=c("CREDIT","DEBIT","DEBIT","DEBIT","DEBIT","CREDIT","CREDIT","CREDIT","DEBIT","CREDIT"))

行包括第一列中的美元金额以及它是否已被使用或添加到帐户中。我想根据第二行操作第一行,如果是贷记则将其保持为正,如果是借记则将其否定。到目前为止,我想出的最好的是:
a$Transaction[a$type=="DEBIT"]=-a$Transaction

我正在寻找一个简单的非循环解决方案,因为我相信 R 中存在这样的解决方案。谢谢,伙计们!

最佳答案

a[a$type=="DEBIT",]$Transaction <- -a[a$type=="DEBIT",]$Transaction

是你要找的。您需要逗号来指定您正在使用数据框的行这一事实。

关于R:根据另一列操作一个数据框列的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14299445/

10-10 13:13