【发布时间】:2020-10-27 12:39:39
【问题描述】:
我想知道是否可以在 R 中构建一个 FOR 循环,它会在每次运行时更改多个参数。
我的参数数据框 [df_params] 如下所示:
group person date_from date_to
1 Mike 2020-10-01 12:00:00 2020-10-01 13:00:00
2 Mike 2020-10-04 09:00:00 2020-10-07 17:00:00
3 Dave 2020-10-07 12:00:00 2020-10-07 13:00:00
4 Dave 2020-10-09 09:00:00 2020-10-11 17:00:00
我想遍历更大的数据帧 [df] 并仅获取与“df_params”数据帧中各个行的参数匹配的行。
大数据框 [df] 如下所示:
person datetime books tasks done
Mike 2020-10-01 12:15:00 5 7 2
Mike 2020-10-01 12:17:00 5 7 3
Mike 2020-10-01 18:00:00 5 7 4
Mike 2020-10-02 12:00:00 5 5 0
Mike 2020-10-04 09:08:00 5 3 3
Mike 2020-10-09 12:00:00 5 7 1
Dave 2020-10-07 12:22:00 7 5 1
Dave 2020-10-08 02:34:00 7 5 2
Dave 2020-10-09 07:00:00 7 3 3
Dave 2020-10-09 08:00:00 7 8 5
Dave 2020-10-09 09:48:00 7 7 2
Nick 2020-10-01 13:00:00 3 7 3
Nick 2020-10-02 12:58:00 3 3 2
Nick 2020-10-03 10:02:00 3 7 1
想要的结果如下所示:
person datetime books tasks done group
Mike 2020-10-01 12:15:00 5 7 2 1
Mike 2020-10-01 12:17:00 5 7 3 1
Mike 2020-10-04 09:08:00 5 3 3 2
Dave 2020-10-07 12:22:00 7 5 1 3
Dave 2020-10-09 09:48:00 7 7 2 4
这样的事情在 R 中可能吗? 非常感谢您的任何建议。
【问题讨论】:
-
是的,您可以获得与参数中的某些条件匹配的单个行。您是否需要根据个人的某些值在 df 中创建一个新列?
-
嗨,我需要创建一个只包含选定行的新数据框。
-
好的,是的。听起来你想做一个
merge()或union(),它们是数据库类型的函数,你可以在其中获取 2 个数据集并根据匹配条件 join 它们。您需要在行上匹配什么标准?然后你告诉函数你希望它如何匹配
标签: r dataframe date lubridate