ggplot2作图细节(长宽数据转化,数据集挑选,变量排序,调色板限制变量解决方案)
ggplot2作图细节
我们每个人作图之前都需要将数据整理到位,不然走不到作图哪一步,就进行不下去了。学会前期数据处理比后期图形选择更加重要。
长宽数据概念以及转换
长宽数据在数据运算作图领域非常重要,我们一般作图用的是长数据,一般计算方差标准差会用宽数据会显得比较方便。
长数据是指数据集中的变量没有做明确的细分,即变量中至少有一个变量中的元素存在值严重重复循环的情况(可以归为几类),表格整体的形状为长方形,即 变量少而观察值多。一列包含了所有的变量,而另一列则是与之相关的值。
宽数据是指数据集对所有的变量进行了明确的细分,各变量的值不存在重复循环的情况也无法归类。数据总体的表现为 变量多而观察值少。每一列为一个变量,每一行为变量所对应的值。
library(tidyr)
library(reshape2)
## 宽转长
tillerworkmddt_long <- melt(tillerworkmddt,id.vars = c("family"), #需保留的不参与聚合的变量列名measure.vars = c('june27th','july2th','july7th','july12th','july18th','july22th',#需要聚合的变量'july27th','August1th'),variable.name = c('date'),#聚合变量的新列名value.name = 'tillernumber')#聚合值的新列名
#spread()函数将宽格式转化为长格式
tillerworkmddt_w<-spread(tillerworkmddt_long, S, value)
#dcast()函数将宽格式转化为长格式
tillerworkmddt_long<-dcast(tillerworkmddt_w, tillernumber~dtillerworkmddt_w$S,value.var = 'value')
此处就不给大家图了,涉及到毕业论文,大家带入变量试试便知。
数据集的挑选
hdcy6 <- tillerworkhdcy[c(1081:1200),] #挑选tillerworkhdcy数据集的1081行到1200行。subset(dataset, subset, select )
#子集(数据集,子集,选择)
#dataset是要进行操作的数据集
#subset是对数据的某些字段进行操作
#select选取要显示的字段
看了一些博主的分享我对subset函数的理解就是,如果你想通过某列的特殊逻辑来选择行,则对subset进行逻辑编辑,比如$age>60
等,但是对一些文本选取不太理想,此处可能是我境界不够,如果是想选取某些列则对selet进行修改即可。
箱线图中变量排序问题
hdcy3$family <- factor(hdcy3$family,levels =c("LHY25","LHY26","LHY27",
"LHY32","LHY33","LHY34","LHY35","LHY36","LHY37"))
关于这个问题,我们在作图之前就需要对我们的变量名进行一个排序,当然如果作图前没有排列,系统则自动默认排序,一般都不是我们想要得到的。
关于R语言调色板限制变量的解决
打破配色限制
install.packages( "paletteer")
library(paletteer)mycol<-paletteer_d( "ggthemes::Classic_20",n=20)
下面给大家罗列一些我常用的调色包,大家可以值得一试
library(ggsci)
p2<-p+scale_color_npg+scale_fill_npglibrary(RColorBrewer)
p7<-p+scale_fill_manual(values=rev(mycolor2))+
scale_color_manual(values=rev(mycolor2))library(paletteer)
col3<-colorRampPalette(c('blue','white','red'))(30) #可指定颜色
mycol<-paletteer_d( "ggthemes::Classic_20",n=20)library(colourpicker)
col_map<-c( "#E07979", "#801212", "#EDB4B4", "#4169E1", "#6CA6CD", "#48D1CC", "#FFC0CB", "#96CDCD")
推荐网址:https://colorbrewer2.org/
小结
一千个人眼中有一千个哈姆莱特,拥有发现美的眼睛,让我们的作图之路一帆风顺。
ggplot2作图细节(长宽数据转化,数据集挑选,变量排序,调色板限制变量解决方案)相关推荐
- 长宽数据变换_reshape2包_2021-02-28
我们用一个R内置的测试数据airquality举例什么是: head(airquality) ozone solar.r wind temp month day 1 41 190 7. ...
- Stata: 你还在用reshape转换长宽数据吗?那你就OUT了!
作者:华晨 (The University of Manchester) https://www.lianxh.cn 连享会 - Stata 暑期班 线上直播 9 天:2020.7.28-8.7 ...
- 推荐两个长宽数据互换函数pivot_longer和pivot_wider
长宽数据转换有reshape(真难用),reshape2,cast,melt,spread,gather后两项非常简单易用,pivot_longer和pivot_wider,更强劲,在数据重组过程中还 ...
- python长数据转换成宽数据_python – 长/宽数据到宽/长
我有一个数据框,如下所示: import pandas as pd d = {'decil': ['1. decil','1. decil','2. decil','3. decil','3. dec ...
- 一个基于长数据转化为宽数据的小软件---data_tran.exe
长宽矩阵在转化的过程中有很多种方式,我最喜欢就是用R或者python去进行转化,当然也可以进行手动转化 首先,我们看一下数据的形式,以及我们想要转化的形式 以A列作为行,B列作为列,E列的值填充在这个 ...
- R语言使用across函数一次性将多个数据列进行离散化(categorize):或者pivot_longer函数转化为长表、对转化为长表的数值数据列进行离散化、pivot_wider将数据转化为宽表
R语言使用across函数一次性将多个数据列进行离散化(categorize):或者pivot_longer函数转化为长表.对转化为长表的数值数据列进行离散化.pivot_wider将数据转化为宽表 ...
- R包reshape2,轻松实现长、宽数据表格转换
本文翻译自外文博客,原文链接:https://seananderson.ca/2013/10/19/reshape/ 一.reshape2 简介 reshape2是由Hadley Wickham编写的 ...
- python长表转换宽表_Pandas数据变换-长宽表互换
最近工作中,有时会遇到数据转化的问题,这块知识之前掌握得比较零散,今天花时间整理了下 数据来源于下jizhang/pandas-tidy-datagithub.com 一.层级索引 层级索引可以作为 ...
- R语言ggplot2可视化:使用长表数据(窄表数据)( Long Data Format)可视化多个时间序列数据、在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series)
R语言ggplot2可视化:使用长表数据(窄表数据)( Long Data Format)可视化多个时间序列数据.在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series) ...
最新文章
- 为什么模型复杂度增加时,模型预测的方差会增大,偏差会减小?
- 人人都能看懂的 Python 装饰器入门教程
- 使用PHP导入Excel和导出数据为Excel文件
- 89岁教授起诉知网获赔70万:自己的论文竟要花钱才能看?
- vim 如何出创建工程目录
- boost::astar_search用法的测试程序
- Git强制覆盖还原本地救火命令
- linux怎么看日期,linux 怎么用命令查看日期
- 通过90行代码学会HTML5 WebSQL的4种基本操作
- C# ManualResetEvent的理解和用法
- 漏洞learning[安全大事记]
- 双显卡只用独显好吗_双动力洗衣机好吗
- 理解iOS 8中的Self Sizing Cells和Dynamic Type
- 《java高并发编程详解》第0集
- 服务器的安全配置技巧总结
- arcgis10.3添加工具
- 2021-01-19 灵动ICPC集训
- 荣耀V20是起点,一波炫酷荣耀潮配又来啦!
- WPF界面工具Telerik UI for WPF入门级教程 - 设置一个主题(二)
- body onload
热门文章
- 仙人掌之歌——系统设计(2)
- G冰分布(0.0以上)
- SD nand与SD卡 SPI模式驱动
- java 模板方法_设计模式(java实现)_模板方法模式(Template method)
- 【软考 系统架构设计师】企业信息化战略与实施④ 企业信息化与电子商务
- UiO-66有机骨架负载CdS量子点|铈掺杂NH-UiO-66/硫化铟锌复合可见光催化剂|层状UiO-66/g-C3N4/Ag复合材料|各种mof定制材料
- 学历:门槛还是机会?
- Appium-System Bars(系统状态栏)
- backlog配置_tcp-backlog配置
- python自动售货机_自动售货机支付系统详解