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 - Fatal编程技术网

R 如何将每日日期转换为每月或每月的第一天

R 如何将每日日期转换为每月或每月的第一天,r,date,R,Date,我正在尝试转换这个大数据集日期列,它是格式(YYYY/MM/DD),我只想将“日期”变量中的任何观察值转换为相应月份的第一天。(2018/02/03->2018/02/01)我对数据表非常陌生,如果这是一个简单的问题,我深表歉意。 下面是我的数据集的示例dput() structure(list(quantity = c(NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), price_mid = c(NA_real_, N

我正在尝试转换这个大数据集日期列,它是格式(YYYY/MM/DD),我只想将“日期”变量中的任何观察值转换为相应月份的第一天。(2018/02/03->2018/02/01)我对数据表非常陌生,如果这是一个简单的问题,我深表歉意。 下面是我的数据集的示例dput()

structure(list(quantity = c(NA_real_, NA_real_, NA_real_, NA_real_, 
 NA_real_, NA_real_), price_mid = c(NA_real_, NA_real_, NA_real_, 
NA_real_, NA_real_, NA_real_), value_mid = c(100, 241.85, 241.85, 
241.85, 241.85, 241.85), currency_price = c("GBP", "GBP", "GBP", 
"GBP", "GBP", "GBP"), currency_value = c("GBP", "GBP", "GBP", 
"GBP", "GBP", "GBP"), date = structure(c(13515L, 13516L, 13517L, 
13518L, 13521L, 13522L), class = "Date")), class = c("data.table", 
 "data.frame"), row.names = c(NA, -6L), .internal.selfref = <pointer: 0x15f28c0>)
结构(列表(数量=c)(不真实,不真实,不真实,不真实,
NA_real,NA_real,NA_real),price_mid=c(NA_real,NA_real,NA_real,
NA_real,NA_real,NA_real),value_mid=c(100241.85241.85,
241.85、241.85、241.85),货币价格=c(“英镑”、“英镑”、“英镑”,
“英镑”、“英镑”、“英镑”,货币价值=c(“英镑”、“英镑”、“英镑”,
“英镑”,“英镑”,“英镑”,日期=结构(c(13515L,13516L,13517L,
13518L,13521L,13522L),class=“Date”)),class=c(“data.table”,
“data.frame”),row.names=c(NA,-6L),.internal.selfref=)
如果需要对问题进行任何编辑,请告诉我。
谢谢

您可以像这样使用
格式
功能

data$date <- format(data$date,format  = "%Y/%m/1")


> data
   quantity price_mid value_mid currency_price currency_value      date
1:       NA        NA    100.00            GBP            GBP 2007/01/1
2:       NA        NA    241.85            GBP            GBP 2007/01/1
3:       NA        NA    241.85            GBP            GBP 2007/01/1
4:       NA        NA    241.85            GBP            GBP 2007/01/1
5:       NA        NA    241.85            GBP            GBP 2007/01/1
6:       NA        NA    241.85            GBP            GBP 2007/01/1
data$日期数据
数量价格\中间值\中间货币\价格货币\生效日期
1:2007/01/1年度不适用100.00英镑
2:2007/01/1年度英国国民账户241.85英镑
3:2007/01/1年度英国国民账户241.85英镑
4:2007/01/1年度英国国民账户241.85英镑
5:2007年1月1日NA241.85英镑
6:2007年1月1日英国国民账户241.85英镑
如果你愿意,你可以完全放弃这一天,它可能更具代表性

data$date <- format(data$date,format  = "%Y/%m")

> data
   quantity price_mid value_mid currency_price currency_value    date
1:       NA        NA    100.00            GBP            GBP 2007/01
2:       NA        NA    241.85            GBP            GBP 2007/01
3:       NA        NA    241.85            GBP            GBP 2007/01
4:       NA        NA    241.85            GBP            GBP 2007/01
5:       NA        NA    241.85            GBP            GBP 2007/01
6:       NA        NA    241.85            GBP            GBP 2007/01
data$日期数据
数量价格\中间值\中间货币\价格货币\生效日期
1:2007/01年度不适用100.00英镑
2:2007/01年度英国国民账户241.85英镑
3:2007/01年度英国国民账户241.85英镑
4:2007/01年度英国国民账户241.85英镑
5:2007/01年度英国国民账户241.85英镑
6:2007/01年度英国国民账户241.85英镑

有关您的“每月”格式,请参见
zoo::yearmon
,如以下所述: