从Yearmon对象计算月份的第一天和最后一天

时间:2019-03-09 17:57:16

标签: r xts zoo lubridate

我有一个简单的df,其中包含yearmon类中的一列日期:

df <- structure(list(year_mon = structure(c(2015.58333333333, 2015.66666666667, 
                                  2015.75, 2015.83333333333, 2015.91666666667, 2016, 2016.08333333333, 
                                  2016.16666666667, 2016.25, 2016.33333333333), class = "yearmon")), class = c("tbl_df", 
                                                                                                               "tbl", "data.frame"), row.names = c(NA, -10L))

我想要一种简单的方法,最好使用基数R,lubridatexts / zoo来计算每月的第一天和最后一天。

我看过其他可以做到这一点的软件包,但是如果可能的话,我想坚持使用上述软件包。

3 个答案:

答案 0 :(得分:2)

使用基数R,您可以使用<dl> <dt>Most methods and properties.<br>Replace <code>\n</code> with <code>&lt;br&gt;</code>.</dt> <dd><samp><p></p></samp></dd> <hr> <dt><code>.value</code> of <code>&lt;textarea&gt;</code></dt> <dd><samp><textarea rows='12' cols='50'></textarea></samp></dd> <hr> <dt><code>.innerText</code></dt> <dd><samp><p></p></samp></dd> </dl>yearmon对象转换为日期,这将为您提供每月的第一天。对于最后一天,我们可以将日期增加一个月(1/12),然后从中减去1天。

as.Date

答案 1 :(得分:2)

我们可以使用

library(dplyr)
library(lubridate)
library(zoo)
df %>% 
   mutate(firstday = day(year_mon), last = day(as.Date(year_mon, frac = 1)))

答案 2 :(得分:1)

使用来自动物园的$config2['allowed_types'] = 'docx|doc|pdf|png|jpg|gif|jpeg|pptx|xlsx|ppt|xls|bmp|rar|zip'; $config2['max_size'] = 5120; $this->load->library("upload"); $tempFile->ORIGIN_FILE = $_FILES['file']['name']; $config2['file_name'] = base64_encode(date("Y-m-d H:i:s:a.v")); $this->upload->initialize($config2); if ($this->upload->do_upload("file")) { $tempFile->NAMA_FILE = $this->upload->data('file_name'); } else { $this->Message("Invalid document format", false); } ,如图所示。 R:指定要使用的月份中的小数部分,因此0是月份的开始,1是结束的。  var conversations = ['R: test1' ,'R: test3','tx','I sent' ] var replies = conversations.reduce(function(op,message,index) { if(message.indexOf('R:')!== -1) { op.push(index) } return op },[]); console.log(replies)的默认值为0。

如果您使用的是as.Date.yearmon(因为已经定义了frac方法,那么您必须已经在使用zoo了,所以这不会涉及使用除已使用的软件包之外的任何其他软件包。 / p>

如果您使用的是dplyr,则可以选择将frac替换为yearmon

yearmon

给予:

transform