【发布时间】:2016-02-05 06:49:34
【问题描述】:
我得到了两个数据框,其结构(列)如下:
Price ["CID","Startdate","Enddate","P1","P2"]
Usage ["Date","Hour","CID","Value"]
我正在尝试将价格与使用情况合并。通过检查“价格”中相应的“CID”和“日期”值,我希望“使用”中的 P1 和 P2 值
这是我下面的 R 代码:
t_cid=Price$CID
Startdate=Price$Startdate
Enddate=Price$Enddate
fv <-function(x){
p<-Price[ (t_cid==x[3]) & (x[1] >=Startdate ) &(x[1] <=Enddate),c("P1","P2")]
return(list(p))
}
t1=Sys.time()
k=unlist(apply(Usage,1,fv))
t2=Sys.time()
print(t2-t1)
v=rep(c(TRUE,FALSE),length(k)/2)
Usage$P1=k[v]
Usage$P2=k[!v]
向量 v 将 P1 和 P2 值与 k 分开
结果数据框:用法
["Date","Hour","CID","Value","P1","P2"]
这个逻辑有效。但我想增加速度流形(6-10 倍)。任何帮助将不胜感激。在此先感谢。
【问题讨论】:
-
考虑使用“data.table”包...openanalytics.eu/blog/need-processing-speed-datatable