gpt4 book ai didi

r - 在 R 中查找没有循环的值

转载 作者:行者123 更新时间:2023-12-02 06:15:47 25 4
gpt4 key购买 nike

我需要根据另一个数据框中的多个条件在一个数据框中查找一个值。示例

A=
Country Year Number
USA 1994 455
Canada 1997 342
Canada 1998 987

必须添加一个名为“rate”的列

B=
Year USA Canada
1993 21 654
1994 41 321
1995 56 789
1996 85 123
1997 65 456
1998 1 999

这样最终的数据框就是

C=
Country Year Number Rate
USA 1994 455 41
Canada 1997 342 456
Canada 1998 987 999

换句话说:从 B 中的 A 查找年份和国家,结果是 C。我想在没有循环的情况下执行此操作。我想要一种通用方法,这样我就可以根据两个以上的标准进行查找。

最佳答案

这是另一种使用 data.table 的方法,它不需要将第二个数据表转换为长格式:

require(data.table) # 1.9.6+
A[B, Rate := get(Country), by=.EACHI, on="Year"]
# Country Year Number Rate
# 1: USA 1994 455 41
# 2: Canada 1997 342 456
# 3: Canada 1998 987 999

其中AB是data.tables,Countrycharacter类型。

关于r - 在 R 中查找没有循环的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32991376/

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