【发布时间】:2018-09-25 18:08:30
【问题描述】:
假设我有一个名为 data 的简单数据集:
customer_id <- c("1","1","1","2","2","2","2","3","3","3")
account_id <- as.character(c(11,11,11,55,55,55,55,38,38,38))
obs_date <- c(as.Date("2017-01-01","%Y-%m-%d"), as.Date("2017-02-01","%Y-%m-%d"), as.Date("2017-03-01","%Y-%m-%d"),
as.Date("2017-12-01","%Y-%m-%d"), as.Date("2018-01-01","%Y-%m-%d"), as.Date("2018-02-01","%Y-%m-%d"),
as.Date("2018-03-01","%Y-%m-%d"), as.Date("2018-04-01","%Y-%m-%d"), as.Date("2018-05-01","%Y-%m-%d"),
as.Date("2018-06-01","%Y-%m-%d"))
variable <- c(87,90,100,120,130,150,12,13,15,14)
data <- data.table(customer_id,account_id,obs_date,variable)
我想添加另一个称为指标的变量,对于那些在两个或多个连续观察日期 (obs_date) 中具有变量
indicator <- c(1,1,1,0,0,0,0,1,1,1)
data <- data.table(customer_id,account_id,obs_date,variable, indicator)
您知道如何创建这个称为指标的变量吗?我需要按 customer_id、account_id 进行分组,并确定变量
【问题讨论】:
-
第三条记录不会指示为 0,因为它的变量是 100,即 > 90?
-
@samadhi 每个“customer_id, account_id 对”(不是每个记录/行)和“两个或更多”行足以应用它。
标签: r data.table