我具有以下格式的交易数据。
transaction <- data.frame(account_id=c('ID001','ID001','ID002','ID002','ID001','ID002'),
transaction_date=c('2017-01-02','2017-01-22','2017-02-18','2017-02-22','2017-03-10','2017-03-16'),
amount=c(2000,400,6000,350,570,2500))
我想在下表中的transaction_date之前从上述交易中提取功能。
之前
churn_label <- data.frame(account_id=c('ID001','ID002'),
transaction_date=c('2017-03-10','2017-03-16'),
churn_label=c(1,1))
之后
我的想法是
步骤1:逐行循环churn_label表并按account_id过滤交易记录表
步骤2:根据过滤后的数据创建新功能。
但是,我担心运行时间。我听说for()循环需要大量的计算时间。在R中还有另一种方法吗?