【问题标题】:Apply group of functions by ID across 2 datasets - one with single observation per ID, the other with multiple observations per ID按 ID 跨 2 个数据集应用一组函数 - 一个每个 ID 有一个观察值,另一个每个 ID 有多个观察值
【发布时间】:2017-10-09 19:16:35
【问题描述】:

我有一个关于使用 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 有多个观察值而另一个数据集每个 ID 有 1 个观察值时,我如何在 2 个数据集中使用带有 ID 的应用函数组身份证。

谢谢!

【问题讨论】:

    标签: r apply


    【解决方案1】:

    我愿意:

    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]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多