按月和日分组的事件直方图

2024-03-27

我正在尝试根据多年但按月和日分组的一组数据制作每个事件发生次数的直方图(或其他图)。基本上,我想要从 3 月 1 日开始的一年长的 x 轴,显示每个日期出现的次数,并根据分类值对这些日期进行着色。以下是数据集中前 20 名的条目:

goose

Index   DateLost    DateLost1   Nested
1   2/5/1988    1988-02-05  N
2   5/20/1988   1988-05-20  N
3   1/31/1985   1985-01-31  N
4   9/6/1997    1997-09-06  Y
5   9/24/1996   1996-09-24  N
6   9/27/1996   1996-09-27  N
7   9/15/1997   1997-09-15  Y
8   1/18/1989   1989-01-18  Y
9   1/12/1985   1985-01-12  Y
10  2/12/1988   1988-02-12  N
11  1/12/1985   1985-01-12  Y
12  10/26/1986  1986-10-26  N
13  9/15/1988   1988-09-15  Y
14  12/30/1986  1986-12-30  N
15  1/19/1991   1991-01-19  N
16  1/7/1992    1992-01-07  N
17  10/9/1999   1999-10-09  N
18  10/20/1990  1990-10-20  N
19  10/25/2001  2001-10-25  N
20  9/23/1996   1996-09-23  Y

我尝试过使用 strftime、zoo 和 lubridate 进行分组,但绘图无法识别时间顺序或允许我调整起始值。我已经尝试了使用plot()和ggplot2()的多种方法,但要么无法正确绘制分组数据,要么无法获得分组数据。到目前为止我最好的情节来自这段代码:

ggplot(goose, aes(x=DateLost1,fill=Nested))+ stat_bin(binwidth=100 ,position="identity") + scale_x_date("Date")

这给了我一个很好的情节,但是多年来,而不是一年。我还在这里使用了之前答案中的代码:了解日期并使用 R 中的 ggplot2 绘制直方图 https://stackoverflow.com/questions/10770698/understanding-dates-and-plotting-a-histogram-with-ggplot2-in-r但我在选择开始日期时遇到了困难。任何帮助将不胜感激。如果我可以以更易于使用的格式提供示例数据,请告诉我。


让我们读入您的数据:

goose <- read.table(header = TRUE, text = "Index   DateLost    DateLost1   Nested
1   2/5/1988    1988-02-05  N
2   5/20/1988   1988-05-20  N
3   1/31/1985   1985-01-31  N
4   9/6/1997    1997-09-06  Y
5   9/24/1996   1996-09-24  N
6   9/27/1996   1996-09-27  N
7   9/15/1997   1997-09-15  Y
8   1/18/1989   1989-01-18  Y
9   1/12/1985   1985-01-12  Y
10  2/12/1988   1988-02-12  N
11  1/12/1985   1985-01-12  Y
12  10/26/1986  1986-10-26  N
13  9/15/1988   1988-09-15  Y
14  12/30/1986  1986-12-30  N
15  1/19/1991   1991-01-19  N
16  1/7/1992    1992-01-07  N
17  10/9/1999   1999-10-09  N
18  10/20/1990  1990-10-20  N
19  10/25/2001  2001-10-25  N
20  9/23/1996   1996-09-23  Y")

现在我们可以将其转换为 POSIXct 格式:

goose$DateLost1 <- as.POSIXct(goose$DateLost,
                              format = "%m/%d/%Y", 
                              tz = "GMT")

那么我们需要弄清楚它是在哪一年丢失的,相对于 3 月 31 日。不要尝试在ggplot()。这需要一些思考来弄清楚我们现在处于哪一年,然后计算 3 月 31 日之后的天数。

goose$DOTYMarch1 = as.numeric(format(as.POSIXct(paste0("3/1/",format(goose$DateLost1,"%Y")),
                                                format = "%m/%d/%Y",
                                                tz = "GMT"),
                              "%j"))
goose$DOTYLost = as.numeric(format(goose$DateLost1,
                             "%j"))
goose$YLost = as.numeric(format(goose$DateLost1,"%Y")) + (as.numeric(goose$DOTYLost>goose$DOTYMarch1) -1)
goose$DOTYAfterMarch31Lost = as.numeric(goose$DateLost1 - as.POSIXct(paste0("3/1/",goose$YLost),
                                                          format = "%m/%d/%Y", 
                                                          tz = "GMT"))

然后我们就可以绘制它了。你的代码已经非常完美了。

require(ggplot2)

p <- ggplot(goose, 
            aes(x=DOTYAfterMarch31Lost,
                fill=Nested))+ 
  stat_bin(binwidth=1,
           position="identity")
print(p)

我们得到这个:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按月和日分组的事件直方图 的相关文章

  • 在 R 中打印绘图时第一页为空

    我正在尝试创建一个包含多个图的pdf 更具体地说 我想保存我的图 每页 4 个 因此 我在 r 中有以下代码 可以工作 但将页面留空 第一个 pdf Plots plots numeric four in page pdf paper a4
  • 使用 plyr daply 将数据帧转换为矩阵

    我正在尝试使用daply函数在plyr包 但我无法让它正确输出 尽管组成矩阵的变量是数字 但矩阵的元素是列表 而不是变量本身 例如 以下是一小部分数据 Month Vehicle Samples 1 Oct 10 31057 256 2 O
  • 用闪亮的 R 设计 DT 中的展开行按钮

    我正在尝试设计 DT 中可用的展开行按钮的样式 样式可用here https datatables net examples api row details html 我用于创建数据表的代码是 library DT datatable cb
  • 数据表中的 NA

    我有一个data table其中包含一些组 我对每个组进行操作 有些组返回数字 其他组返回NA 因为某些原因data table很难将所有东西重新组合在一起 这是一个错误还是我误解了 这是一个例子 dtb lt data table a 1
  • svyby比例的置信区间

    是否存在创建置信区间的现有函数 从一个svyby比例对象 在我的例子中 是一个二进制项目的交叉表survey包裹 我经常比较各组之间的比例 如果有一个可以提取置信区间的函数 使用调查函数svyciprop而不是confint 下面的示例显示
  • 如何缩放(标准化)每列内的 ggplot2 stat_bin2d 值(按 X 轴)

    我有一个 ggplot stat bin2d 热图 library ggplot2 value lt rep 1 5 1000 df lt as data frame value df group lt rep 1 7 len 5000 d
  • oracle日期序列?

    我有一个 oracle 数据库 我需要一个包含 2 年所有日期的表 例如来自01 01 2011 to 01 01 2013 首先我想到了一个序列 但显然唯一支持的类型是数字 所以现在我正在寻找一种有效的方法来做到这一点 欢呼骗局 如果您想
  • 如何在RcppParallel中调用用户定义的函数?

    受到文章的启发http gallery rcpp org articles parallel distance matrix http gallery rcpp org articles parallel distance matrix 我
  • R Leaflet:添加多边形时传递 popupOptions。

    Within addPolygons 有一个popup参数就像addPopups 功能 区别 我认为 是当弹出窗口创建时addPolygons 可以单击多边形内的任意位置来触发弹出窗口 但是如果addPopups 被使用 单个lng and
  • 使用 lpSolve 优化 R 团队名单

    我是 R 新手 有一个想要解决的特定幻想运动队优化问题 我见过其他帖子使用 lpSolve 来解决类似的问题 但我似乎无法理解代码 下面的示例数据表 每个球员都在一个球队中 扮演着特定的角色 有薪水 并且每场比赛都有平均得分 我需要的限制是
  • 如何正确调整 R 中 ggplot 的各个方面的大小,包括图例?

    我在 ggplot2 中制作散点图 然后使用 ggsave 导出特定宽度和高度的 PDF 但是 图形图例永远不会使用 ggsave 正确调整大小 其边框不会留在绘图内 是否有另一种方法可以同时调整 ggplot 所有部分的大小以便于导出 我
  • 在R闪亮中,如何在UI端使用在SERVER端计算的值?

    在我的 R闪亮应用程序中 我想调整我的高度d3heatmap 见包装d3热图 https cran r project org web packages d3heatmap index html 作为我的数据框行数的函数 有一个论点heig
  • R tm 包创建 N 个最常见术语的矩阵

    我有一个termDocumentMatrix使用创建的tmR 中的包 我正在尝试创建一个包含 50 个最常出现的术语的矩阵 数据框 当我尝试转换为矩阵时 出现此错误 gt ap m lt as matrix mydata dtm Error
  • R Shiny UI 子选项复选框?

    我有一个基本的 RShiny 应用程序 它有一个反应式复选框 它根据复选框中选择的数据 df 列 绘制时间序列数据 我当前的代码生成一个带有复选框输入的 UI 如下所示 Load R packages library shiny libra
  • 有没有办法将 Excel 单元格条目转换为一致的日期和时间格式?

    我正在处理雨量计数据记录器生成的 csv 文件中的一些雨量计数据 我发现日期和时间的记录不一致 以以下两种格式之一交替显示 Format 1 mm dd yyyy hh mm 24 hour clock or Format 2 mm dd
  • 矩阵中两个字符串的最大 nchar

    我想找到更好的方法来找到我正在相互比较的两个字符串的更大的 nchar 假设我有字符串句子匹配data frame 和我需要创建一个 max nchar string1 nchar string2 矩阵 但没有 for 循环 这是非常慢的方
  • 获取所有参数作为列表

    R 是否提供对象 函数 方法 关键字来获取所有函数参数 使用一个例子 function a b default 会提供a and b也 在函数环境内 有没有类似的说法list 这还包括a and b在结果中 或者换一种方式 简写list a
  • 递归累积函数

    我需要在 R 中编写一个累积求和函数 但我一直碰壁 该函数具有以下结构 a x1 a x2 a 2 x1 a x3 a 2 x2 a 3 x1 a x4 a 2 x3 a 3 x2 a 4 x1 等等 cumsum 似乎不适用于此类功能 有
  • TSQL - 创建从日期表,同时忽略带条件的中间步骤

    我在 MS SQL 服务器中有以下表结构 现在 我想根据以下规则获取每个 id 的 in 日期 如果第二天 23 59 出 和 00 00 进 则忽略这些 如果同一天有 out 和 in 请忽略这些 例如我应该得到以下结果 id in ou
  • 确定 R 中的组是否重复某个值

    我有一个包含许多列和行的数据 我想通过创建新的逻辑变量来确定某个组的值是否重复 相同 所以我的数据如下所示 v0 lt c 1 2 3 4 5 6 7 8 9 v1 lt c a b a c e c b b e v2 lt c R NA R

随机推荐

  • Xamarin 表单:图像未以完美圆形显示

    我已经发布了有关此问题的问题 但从未得到任何解决方案 因此 发布相同的问题并提供更多详细信息和发现 对于圆形图像 我在项目中使用 Xam Plugins Forms ImageCircle nuget 包 它在 android 和 wind
  • 如何拯救 OmniAuth::Strategies::OAuth2::CallbackError?

    我正在构建一个 Rails 应用程序Omniauth https github com intridea omniauth用于登录服务 为了验证我正在使用的 GoogleOmniAuth Google OAuth2 策略 https git
  • 如何设置 Kibana SSO(通过 OAuth)? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我的公司非常努力地为所有第三方服务保留 SSO 我想让 Kibana 与我们的 Google Apps 帐户一起使用 那可能吗 如何
  • 在 YML 中为 jpa 设置 hibernate 方言

    我尝试在 YML 中为 jpa 设置 hibernate 方言 检查了很多主题 但没有设置 spring datasource hikari allow pool suspension true connection timeout 100
  • 如何枚举实现通用接口的所有项目?

    我有两个接口 一个通用接口和一个非通用接口 它们具有继承层次结构 public interface IGenericRelation
  • Python pandas 将数据融合到多个列和另一列中的列名称

    我有一个数据框 我想将数据融合到多个目标列中 我使用的下面的代码 grp2 pd lreshape grp1 cols groupby cols str split str 1 sort values ACCT NAME 上面的行我丢失了列
  • 获取最近创建的 Pod 的名称

    在OpenShift中 是否有一种更优雅的方式来获取应用程序中最近创建的pod的名称my app比这个 name oc get pods l app my app o jsonpath range items status startTim
  • 是否有在 Spring 上下文 XML 文件中创建字符串常量的简写?

    我需要在 Spring 上下文 XML 文件中定义一个由多个 bean 共享的字符串值 我就是这样做的
  • 在数据注释的ErrorMessage属性中使用html

    任何人都知道是否可以执行以下操作 public class User public Guid UserID get set Required ErrorMessage A school selection is required Range
  • HTTP 状态代码 411 - 需要长度

    我尝试从服务器获取数据 我使用 NSURLConnectionDelegate NSURLConnectionDataDelegate 有代码 目标 C void sendRequest NSURL url NSURL alloc init
  • 如何获得 Mac 操作系统上的峰值内存?

    在 Windows 中 我可以通过调用 GetProcessMemoryInfo 获取峰值内存使用情况 function TProcess Peek Cardinal var PMC PPROCESS MEMORY COUNTERS PMC
  • 如何转义 NSString 以在 NSURL 中使用? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 到目前为止我的发送按钮得到了这个代码
  • 何时使用 ko.utils.unwrapObservable?

    我使用 KnockoutJS 编写了一些自定义绑定 我仍然不确定何时使用ko utils unwrapObservable item 查看代码 该调用基本上检查是否item是一个可观察的 如果是 则返回value 如果不是 则返回value
  • 如何从asp.net中的复选框列表控件返回选定的项目

    我试图以字符串形式返回动态绑定的复选框列表控件中选定的项目 但没有成功 我希望有人能提供帮助 在我的代码隐藏文件中 我连接到一个名为 users 的类并构建一个数据表 然后我将数据表绑定到 cblist 控件 private void po
  • Bootstrap 模式:背景在切换时跳到顶部

    我有一个模态问题 我在页面上有一个按钮 可以切换模式 当模式出现时 页面跳转到顶部 我已尽一切努力寻找解决方案 等等 但我真的迷失了 EDIT 我也尝试过 myModal modal show 但它具有完全相同的效果 当模态打开时modal
  • 没有找到处理意图的活动?

    我正在编写一个程序 当特定的短信到达手机时 应调用应用程序中的主要活动 我已经注册了一个BroadcastReceiver调用该活动的意图是onReceive 方法 问题是 每次我发送这条特定的短信时 我都会收到强制关闭消息 阅读 logc
  • C# - 我应该使用什么,接口、抽象类还是两者?

    因此 假设我正在用 C 构建某种房地产应用程序 对于每种类型的财产 我将创建一个类 例如 ResidentialProperty 和 CommercialProperty 这两个类以及所有其他属性类将共享一些公共属性 例如 Id 标题 描述
  • import jwt 导入错误:没有名为 jwt 的模块

    我一直在尝试运行这个项目https github com udacity FSND Deploy Flask App to Kubernetes Using EKS https github com udacity FSND Deploy
  • 在 C++ 中获取所有打开的窗口的列表并存储它们

    我目前正在尝试获取所有打开的窗口的列表并将它们存储在向量中 我一直在查看代码 以至于解决方案可能非常简单 但如果没有全局变量 我想避免 我似乎无法完成它 这是代码 include stdafx h include json h includ
  • 按月和日分组的事件直方图

    我正在尝试根据多年但按月和日分组的一组数据制作每个事件发生次数的直方图 或其他图 基本上 我想要从 3 月 1 日开始的一年长的 x 轴 显示每个日期出现的次数 并根据分类值对这些日期进行着色 以下是数据集中前 20 名的条目 goose