【发布时间】:2019-05-29 11:58:46
【问题描述】:
我有关于纳税人的数据,这些分支机构有多个分支机构,这些分支机构产生多行,除了一个相关列(企业活动)之外几乎是重复的。我想改变这一点,使每个纳税人只有一行,这涉及创建列 'enterprise_activity_1'、'enterprise_activity_2' 等等。
我意识到这类似于重塑,但我想不出使用 tidyr::spread 来实现这一点的方法。
为简单起见,假设我们只有一个如下数据框:
df <- tibble::tibble(
TAXPAYER_ID = c(100, 151, 250, 250, 267, 296, 296, 304),
ENTERPRISE_ACTIVITY = rep(c("AGRICULTURE", "MANUFACTURING"), 4)
)
我想要实现的是:
TAXPAYER_ID ENTERPRISE_ACTIVITY_1 ENTERPRISE_ACTIVITY_2
100 AGRICULTURE NA
151 MANUFACTURING NA
250 AGRICULTURE MANUFACTURING
267 AGRICULTURE NA
296 MANUFACTURING AGRICULTURE
304 MANUFACTURING NA
我的实际数据中每个纳税人拥有不同数量的分支机构,因此列数应该是一个纳税人拥有的最大分支机构数。
【问题讨论】:
-
感谢您指出该问题,但这与我的数据不完全相同,因为我的数据没有为纳税人中的每个分支提供索引的列。但是,如果我可以创建该索引,那么我可以像在那个问题中一样直接使用 tidyr::spread。
标签: r