首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Group_by HS.Code =8字符

Group_by HS.Code =8字符
EN

Stack Overflow用户
提问于 2018-06-18 12:24:37
回答 1查看 59关注 0票数 1

我正试图找到一种方法,将按其“统一编码”(产品的协调编码)归类的“进口价值”分组。我在HS10有一个按产品导入值的数据集;我希望对行进行求和,并在HS8将数据集转换为导入值副产品。HS10表示所使用的代码为10个字符长度,而HS8则表示所使用的代码为8个字符长度。在重写一个新函数来解决这个问题之前,我想知道是否有一些包可以解决我的问题。

代码语言:javascript
运行
复制
Below is a little Head of my dataset:
> head(tun)
   HS.code10 Import
1 1022110000      0
2 1022110005   1051
3 1022999026  19126
4 1041030017   1289
5 1051119007    134
6 1051191000      0

所期望的结果是:

代码语言:javascript
运行
复制
> head(tun)
  HS.code8   Import
1 10221100     1051
2 10229990    19126
3 10410300     1289
4 10511190      134
5 10511910        0

我尝试了Group_by并总结了dplyr包,但是没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-18 12:35:07

您可以在对HS.code10的调用中提取aggregate的前8个字符,并对Import值进行sum

代码语言:javascript
运行
复制
agg <- aggregate(Import ~ substr(HS.code10, 1, 8), tun, sum)
names(agg)[1] <- "HS.code8"
agg
#  HS.code8 Import
#1 10221100   1051
#2 10229990  19126
#3 10410300   1289
#4 10511190    134
#5 10511910      0

数据.

代码语言:javascript
运行
复制
tun <-
structure(list(HS.code10 = c(1022110000L, 1022110005L, 1022999026L, 
1041030017L, 1051119007L, 1051191000L), Import = c(0L, 1051L, 
19126L, 1289L, 134L, 0L)), .Names = c("HS.code10", "Import"), class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50909472

复制
相关文章

相似问题

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