首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据R中的范围分配行业代码

根据R中的范围分配行业代码
EN

Stack Overflow用户
提问于 2014-02-28 14:44:30
回答 1查看 26关注 0票数 1

我希望将整个行业/父级代码分配给包含更详细/子代码(称为下面的data.frame )的df (df )。以下数据说明了包含详细代码的data.frame:

代码语言:javascript
复制
> df <- as.data.frame(cbind(c(1,2,3,4,5,6),c(110,101,200,2041,3651,2102)))
> names(df) <- c('Id','ChildCodes')
> df
  Id ChildCodes
1  1        110
2  2        101
3  3        200
4  4       2041
5  5       3651
6  6       2102

行业/父代码在这里的.csv文件中:https://www.dropbox.com/s/5qtb7ysys1ar0lj/IndustryCodes.csv

对我来说,问题是.csv文件的格式。该文件在第1列中显示父/行业代码,在接下来的2列中显示子/详细代码的范围。下面是一个子集:

代码语言:javascript
复制
> IndustryCodes <- as.data.frame(cbind(c(1,1,2,5,6),c(100,200,2040,2100,3650),c(199,299,2046,2199,3651)))
> names(IndustryCodes) <- c('IndustryGroup','LowerRange','UpperRange')
> IndustryCodes
  IndustryGroup LowerRange UpperRange
1             1        100        199
2             1        200        299
3             2       2040       2046
4             5       2100       2199
5             6       3650       3651

因此,ChildCode 110对应于行业组1,2041年与行业代码2等。如何最好地将行业/母公司代码(IndustryGroup)分配给R中的df

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-28 15:09:48

您可以使用sapply获取每个子代码的行业代码:

代码语言:javascript
复制
sapply(df$ChildCodes, 
       function(x) IndustryCodes$IndustryGroup[IndustryCodes$LowerRange <= x & 
                                               x <= IndustryCodes$UpperRange])
# [1] 1 1 1 2 6 5
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22098244

复制
相关文章

相似问题

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