通过ID在两个数据集中应用一组函数 - 一个对每个ID进行单次观察,另一个对每个ID进行多次观察

时间:2017-10-09 19:16:36

标签: r apply

我对使用apply组功能的最佳方法有疑问。

我有2个与ID绑定的数据集。一个数据集是每周一次,所以有52周。

我想应用一个需要52周数据的函数,并根据1个参数进行转换。

如何使用Apply组函数执行此操作?

每周数据:ID = 1,2 ......,时间= 1 - 52 转换参数:ID = 1,2,...

假设转换函数是:

xtransformation = function(w,x){
xtransformation  = w*x
}

其中w是52周的每周数据,x是转换参数。

我想我要问的是,当一个数据集对组中的每个ID有多个观察结果而另一个数据集只有1时,我如何在2个数据集中使用ID的应用组功能每个身份证明。

谢谢!

1 个答案:

答案 0 :(得分:0)

我愿意:

1-合并每个ID的2个数据集

2-应用每组ID的功能

这是一个使用data.table用于糖语法的示例:

## data.table with multiple observations per ID
dx1 <- data.table(w=1:9,
                 ID=rep(1:3,each=3))
## data.table with single observation per ID
dx2 <- data.table(x=1:3,
                  ID=1:3)
merge(dx1,dx2)[,new:=w*x]