我有以下数据框
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=":")))
现在,我想在客户端计算的是,他的行业从sep到oct的变化。在sep客户端中持有2个来自汽车行业的工具但是在10月他已经减少到1明智。或者他增加了任何在Sepember月没有的新部门。在上述数据中,ASD有2台来自Auto的仪器和1台来自财务的仪器,10月他在财务方面增加了1台仪器,但是从Auto销售了2台仪器。如果他将仪器数量从sep减少到oct那么数字应该是负数。
所需的输出将是
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 <- 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)
我们可以在上面的代码中实现这个吗?