我有一个简单的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,lubridate
或xts
/ zoo
来计算每月的第一天和最后一天。
我看过其他可以做到这一点的软件包,但是如果可能的话,我想坚持使用上述软件包。
答案 0 :(得分:2)
使用基数R,您可以使用<dl>
<dt>Most methods and properties.<br>Replace <code>\n</code> with <code><br></code>.</dt>
<dd><samp><p></p></samp></dd>
<hr>
<dt><code>.value</code> of <code><textarea></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