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