【问题标题】:Turning numeric column to year and month duration in r将数字列转换为 r 中的年月持续时间
【发布时间】:2021-07-31 04:18:49
【问题描述】:

这是我的df的一部分,代表关系持续时间:

   r_duration_1 r_duration_2
3             0            4
4             1            4
5             2            4
6             0            9
7             1            3
8             5            0
9             0            9
10            0           11

duration_1 代表年,duration_2 代表月。 如何将这些列从数字转换为我可以对其进行操作的持续时间,例如平均关系持续时间等?

【问题讨论】:

    标签: r time duration time-format


    【解决方案1】:

    您可以保持数据不变。以月为单位的平均关系持续时间可以计算为:

    mean(with(df, r_duration_1 * 12 + r_duration_2))
    

    【讨论】:

      【解决方案2】:

      我们可以用rowSums乘以不同的权重得到mean

      mean(rowSums(df * c(12, 1)[col(df)]))  
      

      或者使用Map/Reduce

      mean(Reduce(`+`, Map(`*`, df, c(12, 1))))
      

      【讨论】:

        猜你喜欢
        • 2020-12-14
        • 1970-01-01
        • 2016-05-13
        • 1970-01-01
        • 2021-10-18
        • 2021-06-08
        • 2016-03-11
        • 2019-03-01
        • 1970-01-01
        相关资源
        最近更新 更多