gpt4 book ai didi

R:根据另一列操作一个数据框列的值

转载 作者:行者123 更新时间:2023-12-01 08:14:19 24 4
gpt4 key购买 nike

假设您有银行账户信息:

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 中存在这样的解决方案。谢谢,伙计们!

最佳答案

我更喜欢逐步执行此操作,并创建一个索引向量:

R> ind <- a[,"type"] == "CREDIT"
R> ind
[1] TRUE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE
R> a[ind, "Transaction"] <- - a[ind, "Transaction"]
R> a
Transaction type
1 -1.00 CREDIT
2 2.00 DEBIT
3 6.00 DEBIT
4 3.00 DEBIT
5 8.00 DEBIT
6 -3.00 CREDIT
7 -5.25 CREDIT
8 -6.99 CREDIT
9 2.00 DEBIT
10 -5.00 CREDIT
R>

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com