【发布时间】:2015-10-17 00:10:52
【问题描述】:
我有一个这样的数据框“DF”:
Flight.Start Flight.End Device Partner Creative Days.in.Flight
2015-08-31 2015-08-31 Standard MSN Video 35
我需要做的是像这样“炸毁它”:
Flight.Start Flight.End Date Device Partner Creative Days.in.Flight
2015-08-31 2015-10-04 2015-08-31 Standard MSN Video 35
2015-08-31 2015-10-04 2015-09-01 Standard MSN Video 35
2015-08-31 2015-10-04 2015-09-02 Standard MSN Video 35
2015-08-31 2015-10-04 2015-09-03 Standard MSN Video 35
2015-08-31 2015-10-04 2015-09-04 Standard MSN Video 35
2015-08-31 2015-10-04 2015-09-05 Standard MSN Video 35
2015-08-31 2015-10-04 2015-09-06 Standard MSN Video 35
2015-08-31 2015-10-04 2015-09-07 Standard MSN Video 35
ETC……直到日期变量达到 2015-10-04,然后继续下一个复制
基本上每一行都会被复制 days in flight - 1 (因为已经存在的行可以占间隔中的一天,然后一个新列“日期”是填写该航班内的相关日期。因此,如果一行的开始日期和结束日期分别为 9/1 和 9/5,则会将 4 个重复的行附加到已经存在的行上,将创建一个新列(日期),并且原始行的航班开始日期和结束日期的日期序列将填写列值。
所有日期值都格式化为日期,飞行天数为数字,其余为因子。
编辑
针对重复的问题标记:
澄清一下,这不像被标记为重复的情况,因为我的问题并不是真正关注如何根据飞行天数进行复制(我已经知道如何做到这一点!),而是如何然后,我可以向该输出数据框添加列,并在相应的飞行期间按顺序插入日期。感谢您的提醒...
【问题讨论】:
-
嘿@Jay,绝对不是,谢谢。我可能不应该包含有关复制行的所有内容,因为我了解如何使用
expandRows(),但这个问题更多的是关于如何填写顺序日期列以配合该扩展
标签: r