R的data.table中是否有“inter-record”函数?
我有以下数据表:R的data.table中是否有“inter-record”函数?,r,data.table,R,Data.table,我有以下数据表: AssetNumber StartDate ActionNumber PerviousActionNumber 1 20090602 1 1 20090626 3 1 20090721 5 1 20091008 1 2 20090604 3 2 20090628 2
AssetNumber StartDate ActionNumber PerviousActionNumber
1 20090602 1
1 20090626 3
1 20090721 5
1 20091008 1
2 20090604 3
2 20090628 2
2 20090723 1
2 20091010 2
2 20091018 3
使用以下内容加载数据集:
set <- structure(list(AssetNumber = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L),
StartDate = c(20090602L, 20090626L, 20090721L, 20091008L,
20090604L, 20090628L, 20090723L, 20091010L, 20091018L), ActionNumber = c(1L,
3L, 5L, 1L, 3L, 2L, 1L, 2L, 3L), PerviousAction. = c(NA,
NA, NA, NA, NA, NA, NA, NA, NA)), .Names = c("AssetNumber", "StartDate",
"ActionNumber", "PerviousActionNumber"), class = "data.frame", row.names = c(NA,
-9L))
更一般地说,R中是否有一个特定的包包含这样的记录间函数?您正在使用:=,通过引用查找赋值。这是相当基本的。我建议您阅读data.table手册/文档
# thanks to @agstudy
dt[, previousActionNumber := c(NA, head(ActionNumber, -1))]
# thanks to @agstudy
dt[, previousActionNumber := c(NA, head(ActionNumber, -1))]