【发布时间】:2017-11-05 05:33:33
【问题描述】:
案例1:输入
ST_DATE ND_DATE LO_NO ACTV_CODE ACTV_AMT AB_NO FEATURE_CODE L_NU
7/27/16 7/27/16 265 O 15 1 INTEREST 855
7/27/16 7/27/16 265 O 14 1 INTEREST 855
预期输出
ST_DATE ND_DATE LO_NO ACTV_CODE ACTV_AMT AB_NO FEATURE_INTEREST L_NU
7/27/16 7/27/16 265 O 29 1 2 855
案例 2:输入(我的代码适用于案例 2,但为案例 1 抛出错误)
ST_DATE ND_DATE LO_NO ACTV_CODE ACTV_AMT AB_NO FEATURE_CODE L_NU
7/27/16 7/27/16 265 O 15 1 INTEREST 855
7/27/16 7/27/16 265 O 14 1 INSTALLMENT 855
ST_DATE ND_DATE LO_NO ACTV_CODE ACTV_AMT AB_NO INTEREST INSTALLMENT L_NU
7/27/16 7/27/16 265 O 29 1 1 1 855
install_cntdup_less1 <- install_BAN %>%
group_by(AB_NO,LO_NO,L_NU)%>%
mutate(ACTV_AMT = sum(ACTV_AMT),ftr=sum(unique(!is.na(FEATURE_CODE))))%>%
spread(FEATURE_CODE,ftr,fill = 0)%>%
slice(which.min(as.Date(ST_DATE, '%Y/%m/%d')))%>%
slice(which.max(as.Date(ND_DATE, '%Y/%m/%d')))
得到以下错误
Error: Duplicate identifiers for rows (29424, 29425, 29426), (7415, 7416), (30120, 30121)
尝试引入下面链接中提到的唯一 ID,但它弄乱了我的输出 Spread with duplicate identifiers (using tidyverse and %>%)
mutate(ind = row_number()) %>%
我无法理解该怎么做,任何人都可以帮助我解决错误。这似乎是重复的问题,但事实并非如此
【问题讨论】:
-
在您的输出中,您有 8 个列名和 9 个值。 FEATURE_INTEREST 是 2 还是 1?
-
@AntoniosK 抱歉没看到是 2
-
这似乎不是一个困难的过程,但您需要提供更多关于您的过程理念的信息。新数据集中的唯一标识符是什么?当您在 FEATURE_CODE 中有 1 个不同的值时,为什么 FEATURE_INTEREST 为 2?也许提供更多数据,以便我们可以看到不同组合的不同值?
-
@AntoniosK 如果我有 2 个不同的 feature_code 可以转换为功能怎么办。这是我之前问过的问题stackoverflow.com/questions/47115780/…