小贴士:创建用颜色编码的日历

InfoWorld的|2019年1月11日,

见你是如何实现的生活目标与R中制造的彩色编码的日历

版权所有©2019足球竞彩网下载

你好。我莎朗马克利斯在IDG通信,这里做更多的R:色码日历。
看看你是否达到了每天的目标,最好的方法之一就是用颜色标记的方格做一个简单的日历。你是否遇到过像销售或社交媒体帖子这样的日常商业指标?或者,你的个人目标如何,比如日常锻炼?
R可帮助。让我们来看看这个跟踪日常锻炼的日历。更具体地讲,无论你做有氧运动,力量训练,或休息。
首先,你需要获取数据,然后才可以进行可视化。对于简单的数据录入,我通常使用电子表格,Excel或谷歌表。我知道,我知道,有些异端从R爱好者到来。但我喜欢用作业的优化工具。
下面是你可能会为每天锻炼一个Excel文件。
一种白天列,并为活动的列。我不想做的是自由格式文本输入到活动列。我会想我会记住,力量训练的具体格式是“力量训练”,而不是“权重”。但我想肯定。所以,我会添加数据验证,以我的活动列。
我在另一个选项卡中设置的可接受的选择列。你看,我已经得到了有氧和力量训练。接下来,我要选择,我想限制在这种情况下,数据入门整个活动行除了头部细胞。
然后,我会选择在Excel数据功能区数据验证,并选择一个LIST
最后,我要点击源字段内,然后去我可能活动选项卡,选择我的2个选择,然后点击确定。现在我的电子表格设置正确。如果我想添加其他的记录,我给出两个选择:
最后它的时候了一些R.
为了使一个简单的颜色编码的日历,我将使用GGPLOT2库和ggcal包杰伊雅各布。Ggcal是在GitHub上。你可以看到代码在这里安装软件包。我还将加载dplyr,因为我几乎总是最终使用dplyr,不管我做;readxl读取电子表格;和lubridate工作的日期。
因此,让我们导入的文件,并看看它。日期的第一列进来的POSIX。该ggcal功能要Date对象。所以,我会改变我的天塔至今对象。
这是更好。
这个月我只有几天时间在这里。如果我想打印整个月的日历,我将需要填写当前月份的剩余日期。这是这段代码的其余部分所做的。
max(daily_exercise$Day)获取我的文件中的最后日期。
该as.Date(切())代码发现每月最后一天在文件中的第一天 - 这将是1月1日的任何日期一月--sets这是一个Date类,然后加1个月所以结果是2月1日在一月份的任何日期。我不想2月1日,虽然。我想比早先1天。所以我减1(这意味着1天)。然后,我已经得到了月底。
接下来,我想计算所有的日期,从我的数据中最早的日期开始,到我们刚刚计算的月末结束。我可以使用base R的日期排序命令,按1天创建一个序列。我将把它放入一个只有一列的新数据框架中。
为什么我做1列,而不是矢量数据帧?因为现在我可以用一个dplyr left_join到2个数据帧相结合。左连接方式保持在左边的一切,或第一,数据帧,并通过一个共同的列的第二个数据帧合并。我会通过运行该日合并。现在我的数据是准备ggcal。
用于ggcal函数的语法的日期作为第一个参数,和值作为第二个参数。该值可以是类,就像我们现在使用,或数字,如果你想有一个日历热图。我会运行此 你会得到带有默认颜色的默认日历。
如果希望设置自己的配色方案,可以使用常用的ggplot2函数。这里我使用scale_fill_manual()并添加了一个图例名称、每个类别的颜色值以及NA值的浅灰色。最后的主题行为图例添加了一个标题。
我有其他工作,包括除了类别分钟,所以你可以看到一个日历热图。让我们过程。的代码的第一个块中的新的工作表中读取,创建具有该月的所有天一个新的数据帧,并运行ggcal用于与默认颜色分钟。
我宁愿为最高数量,而不是最低的最暗的颜色。我想对空块浅灰色,如果你知道如何自定义GGPLOT2,可以轻松地调整您的日历。在这个代码最后的块中,我使用RColorBrewer的scale_fill_distiller功能使用一个彩色调色板布鲁尔用于连续,数值数据;在这种情况下,黄色至橙红色。而且,还有一个新的配色方案的日历。
这就是本期节目的全部内容,感谢收看!想了解更多关于R的技巧,请访问https go . infoworld . com的“用R做更多的事情”页面。斜线“用R做更多事情”,除R以外都是小写。你也可以在YouTube上找到“用R做更多事情”的播放列表。希望下一集见!
流行
来自IDG.tv的特色视频