Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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 在ggplot中绘制本周数据与上周数据_R_Ggplot2 - Fatal编程技术网

R 在ggplot中绘制本周数据与上周数据

R 在ggplot中绘制本周数据与上周数据,r,ggplot2,R,Ggplot2,我有一个数据集,其结构如下 date transaction 8/15/2020 585 8/14/2020 780 8/13/2020 1427.8 8/12/2020 4358 8/11/2020 780.9 8/8/2020 585 8/6/2020 1107.4 8/5/2020 2917.35 8/4/2020 1237.1 有没有办法绘制一个折线图,将本周发生的所有交易与前一周进行比较?我尝试手动过滤数据,并将其分配给一个新的数据

我有一个数据集,其结构如下

date    transaction 
8/15/2020   585
8/14/2020   780
8/13/2020   1427.8
8/12/2020   4358
8/11/2020   780.9
8/8/2020    585
8/6/2020    1107.4
8/5/2020    2917.35
8/4/2020    1237.1
有没有办法绘制一个折线图,将本周发生的所有交易与前一周进行比较?我尝试手动过滤数据,并将其分配给一个新的数据框,该数据框似乎可以工作,但非常需要手动操作。是否可以使用today()并让它注册执行日期并从那里运行结果?谢谢

要做到这一点,您需要

  • real
    Date
    (使用
    as.Date
    ),这样我们就可以用数字(而不是分类)来处理它们,这样我们就可以把它们分成几个星期
  • 使用
    格式
    获取一年中每个日期的周;及
  • facet\u包裹
    ,以便我们可以使用facet并具有不同的x轴

  • dat$date很酷,谢谢!最后两件事如果我的数据集有全年的数据,我如何限制输出仅显示本周和前一周?我能用实际日期而不是月份和数字来标记轴吗?有人可能会说“没有可用数据”和“零值”是两件不同的事情。。。对在这种情况下,它可能是插补、条件替换或其他一些事情。要绘制它们都重叠而没有切面,您需要使用
    aes(dayofweek,transacvation)
    (并且您需要定义
    dat$dayofweek
    )。在
    ggplot2
    中进行排序总是(a)值为
    字符时按字母顺序排列
    ;或者(b)当它们是
    因子时指定的顺序<代码>系数(dat$dayofweek,levels=c(“周一”、“周二”和…)
    ?这就是我后来的想法,谢谢你的帮助!