按 Activity 将日历条目转换为每天时间

Convert Calendar Entries to Time Per Day by Activity

现在我在 R 中有一个数据集,如下所示:

   date       Activity minutes  hours
 1 2021-09-29 run          35  0.583
 2 2021-09-30 drive        10  0.167
 3 2021-09-30 run          90  1.5  
 4 2021-09-30 sleep       540  9    
 5 2021-10-01 drive        15  0.25 
 6 2021-10-01 sleep       500  8.33 
 7 2021-10-02 sleep       600  10    
 8 2021-10-03 run          55  0.917
 9 2021-10-03 sleep       420  7    
10 2021-10-04 sleep       500  8.33 

我想将其转换为汇总每天 运行 花费的时间和每天花费的睡眠时间的数据集:

   date       time_running time_sleeping
 1 2021-09-29 
 2 2021-09-30 
 3 2021-10-01 
 4 2021-10-02 
 5 2021-10-03 
 6 2021-10-04 

有人有什么想法吗? 谢谢!

不确定您想要的结果,但我正在试一试!所以请在下面找到一个小包 data.table:

REPREX

  • 代码
library(data.table)
dcast(DT, date ~ Activity, value.var = "hours")
  • 输出:
#>          date drive   run sleep
#> 1: 2021-09-29    NA 0.583    NA
#> 2: 2021-09-30 0.167 1.500  9.00
#> 3: 2021-10-01 0.250    NA  8.33
#> 4: 2021-10-02    NA    NA 10.00
#> 5: 2021-10-03    NA 0.917  7.00
#> 6: 2021-10-04    NA    NA  8.33
  • 数据:
DT <- data.table(date = c("2021-09-29", "2021-09-30", "2021-09-30", "2021-09-30",
                          "2021-10-01", "2021-10-01", "2021-10-02", "2021-10-03",
                          "2021-10-03", "2021-10-04"),
                 Activity = c("run", "drive", "run", "sleep", "drive", "sleep",
                              "sleep", "run", "sleep", "sleep"),
                 minutes = c(35, 10, 90, 540, 15, 500, 600, 55, 420, 500),
                 hours = c(0.583, 0.167, 1.5, 9, 0.25, 8.33, 10, 0.917, 7, 8.33))
DT
#>           date Activity minutes  hours
#>  1: 2021-09-29      run      35  0.583
#>  2: 2021-09-30    drive      10  0.167
#>  3: 2021-09-30      run      90  1.500
#>  4: 2021-09-30    sleep     540  9.000
#>  5: 2021-10-01    drive      15  0.250
#>  6: 2021-10-01    sleep     500  8.330
#>  7: 2021-10-02    sleep     600 10.000
#>  8: 2021-10-03      run      55  0.917
#>  9: 2021-10-03    sleep     420  7.000
#> 10: 2021-10-04    sleep     500  8.330

reprex package (v0.3.0)

于 2021-10-11 创建