gpt4 book ai didi

r - 根据一秒的匹配值从一列中减去?

转载 作者:行者123 更新时间:2023-12-02 15:18:20 24 4
gpt4 key购买 nike

我有两个数据表:

一个

animal number
dog 11
cat 7
pig 5

B

animal number
dog 1
cat 2
pig 2
pig 3
cat 4
dog 2

我想根据匹配的动物从B中的数字中减去A中的数字,得到结果...

-10
-5
-3
-2
-3
-9

我确信我可以在不编写循环的情况下做到这一点,但不知道如何去做。我已经做了很多搜索,但是我这样做并没有取得任何结果。 (这是使用 apply 之类的东西吗?)

最佳答案

假设你的数据框是AB,使用match是一种可能:

B$number - A$number[match(B$animal, A$animal)]
# [1] -10 -5 -3 -2 -3 -9

如果您想将此附加到 B,请使用

B$diff <- B$number - A$number[match(B$animal, A$animal)]

# animal number diff
#1 dog 1 -10
#2 cat 2 -5
#3 pig 2 -3
#4 pig 3 -2
#5 cat 4 -3
#6 dog 2 -9

关于r - 根据一秒的匹配值从一列中减去?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39001507/

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