【发布时间】:2018-08-19 12:30:33
【问题描述】:
我有两个数据框,一个是员工的上班时间,一个是员工的下班时间。两个数据框中的数据都有过去一年大约4000名员工的时间戳(不包括周末/公共假期日期)。每个数据框有 4000 行和 250 列。我想找到员工每天在工作中花费的小时数,基本上我的方法是使用 difftime() 找到两个数据框之间的时间差异函数。我使用了下面的代码,并期望得到一个包含 4000 行和 250 列时间差异的结果数据框,但是数据是在一个列中返回的。我应该如何处理这个问题,以便我可以得到时间差异4000行250列的数据框格式的两个数据框之间?
hours_spent <- as.data.frame(as.matrix(difftime(as.matrix(out_time_data_hrs),as.matrix(in_time_data_hrs),unit='hour')))
输入数据如下所示,
In_time 数据帧
Out_time 数据帧
预期输出
【问题讨论】:
-
嗨,您能否在问题描述中分享
dput(intime_df)和dput(outtime_df)的输出。然后在对象上尝试一些代码会很有帮助。只需在dput函数中取两个矩阵的子集。 -
您想对每个员工和每一天应用一个逻辑(花费的小时数)。您可能需要将数据集重塑为更“整洁”的东西。想象一下像
employee id、day、in_time、out_time这样的列,您可以更轻松地查看您必须使用哪些列group_by以及要使用哪些列进行计算。 -
您没有提供理想的输出,但我会根据您目前所展示的内容发布一个示例,希望能帮助您理解逻辑并将其应用于您的案例...... ..
-
添加了所需的输出
标签: r