我在想如何计算状态转换表,以便在引入新的ID(+1)和删除ID(-1)时使用。
例如:
所以第一年(2016年),应该是:
例如:
library(data.table)
dt <- data.table(id = c(1,2,3,1,2,3,4,5,1,2,4,5),
year = c(2015, 2015, 2015, 2016, 2016, 2016, 2016, 2016, 2017, 2017, 2017, 2017))
ids <- unique(dt$id)
所以第一年(2016年),应该是:
0, 0, 0, 1, 1
第二年(2017年)应该是:
0, 0, -1, 0, 0
dcast(dt, year ~ id, length, fill = 0L)[, lapply(.SD, diff), .SDcols = -"year"]
- David Arenburgtt <- table(dt)
;tt[ , -1] - tt[ , -ncol(tt)]
- Henrikdcast(dt, year ~ id, length)[, c(.(year = tail(year, -1)), lapply(.SD, diff)), .SDcols = as.character(ids)]
- Frank