如何计算R中数据帧中两行(字符串)之间的差异

如何计算R中数据帧中两行(字符串)之间的差异,r,R,我有一个如下的数据帧 ClientID month test ASD Sep Auto:2,Finance:1 ASD Oct Finance:2 FGH Sep Auto:1,Finance:2 FGH Oct Oil:2 上面的数据帧是我从下面的代码中得到的 df %>%

我有一个如下的数据帧

ClientID          month            test
 ASD               Sep        Auto:2,Finance:1
 ASD               Oct        Finance:2
 FGH               Sep        Auto:1,Finance:2
 FGH               Oct        Oil:2
上面的数据帧是我从下面的代码中得到的

df %>% 
  group_by(client_id, month, Sector) %>%
  tally() %>%
  group_by(client_id, month) %>%
  summarise(test = toString(paste(Sector, n, sep=":")))
现在,我想在客户层面计算的是,从9月到10月,他的部门发生了变化。就像在9月,客户持有汽车部门的2种工具,但在10月,他减少到了1种。或者,他增加了任何新的部门,而这些部门在几个月内都没有出现。在上述数据中,ASD拥有来自汽车的2种工具和来自金融的1种工具,在10月份,他增加了1种金融工具,但出售了来自汽车的2种工具。如果他从九月到十月减少了仪器的数量,那么这个数字应该是负数

所需输出将为

ClientID       month          test                  Output
  ASD           Sep      Auto:2,Finance:1.            NA
  ASD           Oct      Finance:2                    Finance:1,Auto:NILL
  FGH           Sep      Auto:1,Finance:2             NA
  FGH           Oct      Oil:2                        Oil:2,Finance:2,Auto:1
资料


df您能使用
dput(df)
使其可复制吗?数据的代码与上面给出的数据不一致。这只是我给出的示例代码。我指的是最后的数据创建部分。@Sotos您可以使用相同的代码来复制数据。我已经编辑了这个问题。
df <- data.frame(ClientID = rep(c("ASD.", "DFG."), each = 5),
      month = rep(c("Sep", "Oct" ) , c(3,2)),
      Sector = c("Auto", "Auto", "Finance", "Finance", "Finance", 
      "Auto", "Finance", "Finance", "Oil", "Oil"),
      stringsAsFactors=FALSE)