首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中查找不带循环的值

在R中查找不带循环的值
EN

Stack Overflow用户
提问于 2015-10-07 11:46:40
回答 2查看 96关注 0票数 2

我需要根据另一个数据帧中的多个标准在数据帧中查找一个值。示例

代码语言:javascript
复制
A=
Country Year Number
USA     1994 455
Canada  1997 342
Canada  1998 987

必须添加了一个名为"rate“的列。

代码语言:javascript
复制
B=
Year   USA   Canada
1993   21    654
1994   41    321
1995   56    789
1996   85    123
1997   65    456
1998   1     999

所以最终的数据框架是

代码语言:javascript
复制
C=
Country Year Number  Rate
USA     1994 455     41
Canada  1997 342     456
Canada  1998 987     999

换句话说:从A到B查找年份和国家,结果是C。我想这样做没有循环。我希望有一个一般的方法,这样我就可以根据两个以上的标准进行查询。

EN

Stack Overflow用户

回答已采纳

发布于 2015-10-07 12:18:54

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

代码语言:javascript
复制
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,而Country是字符类型的。

票数 7
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32991376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档