我try 了很多方法,但都没有成功.我有一个日期(YYYY-MM-DD)的数据,我试图只获取月份和年份的数据,例如:MM-yyy或yyy-MM.

最终,我希望它看起来像这样:

ID    Date         Month_Yr
1     2004-02-06   2004-02
2     2006-03-14   2006-03
3     2007-07-16   2007-07
...   ...          ...

我这样做是希望在一段时间内,从多个订单中,在一个月内平均赚取金钱.任何帮助,或向正确方向推进都将不胜感激.

推荐答案

这将以指定的格式向data.frame中添加一个新列.

df$Month_Yr <- format(as.Date(df$Date), "%Y-%m")

df
#>   ID       Date Month_Yr
#> 1  1 2004-02-06  2004-02
#> 2  2 2006-03-14  2006-03
#> 3  3 2007-07-16  2007-07

# your data sample
  df <- data.frame( ID=1:3,Date = c("2004-02-06" , "2006-03-14" , "2007-07-16") )

一个简单的例子:

dates <- "2004-02-06"

format(as.Date(dates), "%Y-%m")
> "2004-02"

side note:

library(data.table)
setDT(df)[, Month_Yr := format(as.Date(Date), "%Y-%m") ]

R相关问答推荐

有没有方法将琴弦完全捕捉到R中的多边形?

单击 map 后,将坐标复制到剪贴板

terra nearest()仅为所有`to_id`列返回NA

如何直接从R中的风险分数计算c指数?

如何在一次运行中使用count进行多列计数

如何使用列表中多个列表中的第一条记录创建数据框

R中的时间序列(Ts)函数计数不正确

如何在R库GoogleDrive中完全删除预先授权的Google帐户?

自定义gggraph,使geom_abline图层仅在沿x轴的特定范围内显示

有没有可能用shiny 的书签恢复手风琴面板?

解析嵌套程度极高的地理数据

如何删除设置大小的曲线图并添加条形图顶部数字的百分比

如何从嵌套数据中自动创建命名对象?在R中

如何使用包metaviz更改标签的小数位数?

Broom.Mixed::Augment不适用于Sample::分析

我有2011-2022年的年度数据.如何计算最低年份和最高年份之间的差额?

列间序列生成器的功能

使用点图调整离散轴比例

只有当我在循环的末尾放置一条print语句时,Foreach才会给出预期的输出

残差与拟合图上标记点的故障排除