Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插入行以填写R中缺少的日期_R_Date_Dataframe_Append - Fatal编程技术网

插入行以填写R中缺少的日期

插入行以填写R中缺少的日期,r,date,dataframe,append,R,Date,Dataframe,Append,我有一个类似这样的数据集: Person date Amount A 2019-01 900 A 2019-03 600 A 2019-04 300 A 2019-05 0 B 2019-04 1200 B 2019-07 800 B 2019-08 400 B 2019-09 0 Person date

我有一个类似这样的数据集:

Person   date     Amount
A       2019-01     900
A       2019-03     600
A       2019-04     300
A       2019-05       0
B       2019-04    1200
B       2019-07     800
B       2019-08     400
B       2019-09       0
Person   date     Amount
A       2019-01     900
A       2019-02     900
A       2019-03     600
A       2019-04     300
A       2019-05       0
B       2019-04    1200
B       2019-05    1200
B       2019-06    1200
B       2019-07     800
B       2019-08     400
B       2019-09       0
正如您在“日期”列中所注意到的,缺少日期,例如,人员A的日期为“2019-02”,人员B的日期为“2019-05”和“2019-06”。我想插入缺少日期和金额等于该日期和金额的行,然后才能看到下面的预期结果

我尝试过分组表演,但我不知道如何从那里开始。我还尝试将“date”和“amount”列转换为列表,然后在将它们放回数据帧之前,从列表中填充空白。我想知道是否有更方便的方法。特别是,无需从原始数据帧中提取列表即可获得相同的结果

理想情况下,我希望有一个如下所示的数据帧:

Person   date     Amount
A       2019-01     900
A       2019-03     600
A       2019-04     300
A       2019-05       0
B       2019-04    1200
B       2019-07     800
B       2019-08     400
B       2019-09       0
Person   date     Amount
A       2019-01     900
A       2019-02     900
A       2019-03     600
A       2019-04     300
A       2019-05       0
B       2019-04    1200
B       2019-05    1200
B       2019-06    1200
B       2019-07     800
B       2019-08     400
B       2019-09       0
我希望我能把我的问题说清楚。
提前感谢。

我们可以首先通过在末尾粘贴-01将日期转换为实际日期对象date1,然后使用complete为每个人创建一个1个月的日期对象序列。然后,我们使用fill来获取与前面的数量相等的数据,并以原始形式获取数据,我们再次从date1中删除-01

资料


我们可以首先通过在末尾粘贴-01将日期转换为实际日期对象date1,然后使用complete为每个人创建一个1个月的日期对象序列。然后,我们使用fill来获取与前面的数量相等的数据,并以原始形式获取数据,我们再次从date1中删除-01

资料