目录

20220411——基础知识学习

20220412——读写操作和基本函数

20220415——循环语句学习

20220418——数据框的操作

20220419——可视化练习

20230107——长数据变宽数据,带置信区间的折线图

20230109——类似于误差棒的折线图

20230113——带趋势线的置信区间折线图

20220411——基础知识学习

1.了解赋值符号,类型:字符串型、数值型、复数、双精度、整型;

2.向量和矩阵(matric);

3.array、data.frame、list;

20220412——读写操作和基本函数

4.导入文本:csv(readr包,read_csv函数【col_type=cols();col_names=T】)

xls(readxl包)

txt(read.csv('',sep=" "))【注意分隔符】

编辑数据框:student1<-edit(student)【赋值到对象本身】

5.基本数据集属性查看:attributes(iris)【属性查询】

6.文件写入;write.csv("",row.names=F)

7.运算符:算数(对向量的基本加减乘除【%%余数】);比较运算符(>,<,=,>=,==,!=);逻辑运算符(F|T;F&T);比较与逻辑结合(a[a>10&a<20])

8.基本函数:(abs,sqrt、、、round(,有效小数位数),mean,median,var,sd,quantile,range)

9.字符串处理函数:

nchar:字符数量;paste:组合向量;(“this is”,data()),("",sep="");

strsplit:分割;substr(x,1,3)<-"aaa";gsub("b","B",y);

10.apply函数组:

air_data<-apply(air_data[xiugai],2,as.numeric)
apply(air_data[xiugai],2,mean)
lapply(air_data,typeof)
sapply(air_data[xiugai],mean,na.rm=T)
mapply(paste,list1,list2,sep="")

20220415——循环语句学习

11.循环结构,for while  if elseif  switch(2,“a”,"b","c")  ifelse(向量);

12.自定义函数:

# 自定义函数
myadd<-function(a,b){print(paste("the first is",a))print(paste("the second is",b))return(a+b)
}
myadd(a=2,b=4)
# 匿名函数
sapply(1:10,function(x){x^2})
# example
fib<-function(x){v3<-c(1,1)if(x<=2){return(v3[1:x])}else{for (i in 3:x) {v3[i]=v3[i-1]+v3[i-2]}return(v3)}}
fib(2)

20220418——数据框的操作

datasets::airmiles
data<-airquality
names(data)
# 处理缺失值
data_n<-na.omit(data)
# 数据框中新建列,对列的操作
data_n[""]<-
data_n$Ozo<-ifelse(data_n$Ozone>100,"warning",ifelse(data_n$Ozone>80,"serious","normal"))
data_n[c("Ozone","Ozo")]
data_n$ozo2[data_n$Ozone>100]<-"warning"
data_n$ozo2
# 修改变量列的名字
names(data_n)[4]<-"t"
names(data_n)
# 多列修改
xiugainame<-c("t","ozo2")
names(data_n)[names(data_n)%in%xiugainame]<-c("temp","ozojudge")
# 对列操作
baoliu<-c("Ozone","temp")
baoliudata<-data_n[baoliu]
baoliudata2<-baoliudata[,-c(2)]
# 选取“warning”的所有信息
newdata<-data_n[data_n$Ozo=="warning",]
# subset行
newdata2<-subset(data_n,Ozo=="warning",)
# subset列
newdata3<-subset(data_n,,1:3)# 数据连接,横向合并,按具有的相同行的属性
a<-data_n[1:4,c(3,5,7)]
b<-data_n[5:8,c(1,4,7)]
merge(a,b,by = "Ozo")
names(a)[3]="o"
merge(a,b,by.x = "o",by.y = "Ozone",all = TRUE)
a<-data_n[1:4,c(3,5,7)]
b<-data_n[1:4,c(1,4,7)]
cbind(a,b)
# 纵向合并d<-data_n[1:3,1:3]
e<-data_n[2:5,1:3]
h<-rbind(d,e)
h
duplicated(h)
h[!duplicated(h),]
# 向量的排序
ozo6<-data_n$Ozone[1:20]
sort(ozo6,decreasing = T)
order(ozo6)
ozo6[order(ozo6)]
A<-data_n[order(data_n$Ozone),]# 函数的转置
t()
# 按行分组
aggregate(data_n$Ozone,by=list(data_n$Ozo),mean)
# 随机抽样
set.seed(11)
sample(1:100,10,replace=T)

20220419——可视化练习

mtcars
plot(mtcars$disp,mtcars$wt,pch=10,cex=1.5,col="blue")
# pch,点的符号;cex,点的大小;type,点图还是线图;lty,线型;lwd,线宽
# main,标题;x,y标签,xlab;xlim,范围;
plot(mtcars$disp,mtcars$wt,pch=10,cex=1.5,col="blue")
# 增加线条、拟合线
abline(h=c(3,4),v=c(200,400))
abline(lm(mtcars$disp~mtcars$wt))
m0<-subset(mtcars,vs==0)
m1<-subset(mtcars,vs==1)
plot(m0$disp,m0$wt,pch=16,cex=1.5,col="blue",xlim=range(mtcars$disp))
points(m1$disp,m1$wt,pch=17,cex=1.5,col="green")
abline(lm(m0$disp~m0$wt),col = "blue")
abline(lm(m1$disp~m1$wt),col = "green")
legend("bottomright",title="a",legend = c("V","s"),col=c("blue","green"),pch = c(16,17))
# 基本类型图,箱线图、饼图、条形图等,后期涉及到了再看吧

20230107——长数据变宽数据,带置信区间的折线图

library(xlsx)
library(tidyr)
setwd("D:/ncc_datas/datasorting")
data<-read.xlsx('fisrt_R_w.xlsx',sheetName = "Sheet1")
mydata<-gather(data,key="year",value = "result",X2006:X2020)
###数据类型要是数值型
###多列数据首尾相连
a<-c()
for (i in 1:15) {b<-2005+ic<-rep(b,1420)a<-cbind(a,c)
}
data2 <- c(a[,1])
for (j in 2:15) {data2 <- c(data2,a[,j])
}
data2<-as.data.frame(data2)
mydata$year2<-data2[,]
str(mydata$year2)###stat_summary
library(ggplot2)
ggplot(mydata, aes(x=year2, y=result, col=variable, fill=variable)) +stat_summary(fun.data="mean_cl_boot", geom="ribbon",#width=.2,alpha=I(.5)) +stat_summary(fun="median", geom="line") +labs(x="Year", y="value") +theme_bw() +theme(legend.position="top") +scale_fill_brewer(type="qual", palette=2,guide=guide_legend(direction="vertical",label.position="bottom",title=NULL,ncol=4,label.hjust=0.5)) +scale_color_brewer(type="qual", palette=2, guide="none")+facet_wrap(~variable,ncol=23)###anathor method-手动计算
result<-c()
for (k in 1:5) {for (i in 3:17) {data2<-data[c(((k-1)*284+1):(k*284)),i]va<-data[k*284,1]med<-median(data2)b<-quantile(data2)up<-b[4]low<-b[2]year<-i+2003res<-c(va,year,med,low,up)result<-rbind(result,res)}}
colnames(result)<-c("va","year","med","low","up")
result<-as.data.frame(result)
result$year<-as.numeric(result$year)
result$med<-as.numeric(result$med)
result$up<-as.numeric(result$up)
result$low<-as.numeric(result$low)###write.xlsx(result,"D:/ncc_datas/datasorting/result.xlsx",sheetName = "Sheet1",append = TRUE)
# ribbon<-c("#F9FCE1","#FBD1B7","#FEE9B2","#FFD966","#D3F6F3")
# lin<-c("#DFEE5B","#F8AB7C","#FDD05B","#99EAE3","#F9BB00")
ggplot()+geom_ribbon(data=result,aes(x=year,ymin=low,ymax=up,fill=va,group=va),alpha=0.5)+geom_line(data=result,aes(x=year,y=med,group=va,color=va),size=1,show.legend = FALSE)+scale_fill_manual(values = c("#EFF7AC","#FBD1B7","#FEE9B2","#D3F6F3","#D6D6D3"))+scale_color_manual(values = c("#EFF7AC","#FBD1B7","#FEE9B2","#D3F6F3","#D6D6D3"))+theme_bw()

数据类型变化参考:

如何用R来处理数据表的长宽转换(图文详解)r语言长数据与宽数据的转换 - 开发者博客

带置信区间折线图参考

R语言ggplot2折线图(line plot)添加置信区间(CI)展示学术论文作者数量的变化趋势
跟着Environmental Research学作图:R语言ggplot2堆积柱形图叠加折线图(2)

第一次没有运行出来,因为整理的数据格式存在问题;后面将year和y值数据类型转换成数值型可以成功运行,大概就是这个样子,不过还不知道怎么可以让线的颜色和ribbon的颜色不一样,比如再深一点???

20230109——类似于误差棒的折线图

带置信区间的图不太容易看清楚,做成类似误差棒的图

###误差线表示ggplot()+geom_errorbar(data=result,aes(x=year,ymin=low,ymax=up,color=va),width=.1)+geom_line(data=result,aes(x=year,y=med,group=va,color=va),size=1,show.legend = FALSE)+geom_point(data=result,aes(x=year,y=med,group=va,color=va))+scale_fill_manual(values = c("#DFEE5B","#F8AB7C","#FDD05B","#99EAE3","#CCC2CF"))+scale_color_manual(values = c("#DFEE5B","#F8AB7C","#FDD05B","#99EAE3","#CCC2CF"))+theme_bw()

相关做法参考:

R语言绘制带误差和可信区间的折线图_天桥下的卖艺者的博客-CSDN博客_r语言可信区间

R语言ggplot2折线图如何根据需要调整线型、颜色及粗细? - 知乎

20230113——带趋势线的置信区间折线图

相关做法参考:R语言折线添加灰色区域置信

其中,facet函数重改标签等参考:

R语言ggplot2可视化分面图(facet_wrap)、使用size参数自定义设置分面图标签栏(灰色标签栏)中的标签文本的字体大小_Data+Science+Insight的博客-CSDN博客_r语言facet_wrap图名字体修改

关于r:ggplot重命名facet_wrap中的构面标签 | 码农家园

字体设置:

R语言绘图|4.ggplot2作图-如何快速设置不同的字体! - 知乎

坐标轴设置:R语言ggplot2零散笔记~坐标轴放到右边/更改绘图边界 - 知乎

标签文本上标:应用错误收集

tm<-result[c(1:16),]##mean自己整理的数据,主要是均值置信区间等
p1<-ggplot(data=tm,aes(x=year,y=pj))+geom_line(color="#FBB7B7",linewidth=1.5,show.legend = FALSE)+geom_smooth(colour="#F87C7C",se = 0, size = 2.0, method = lm, alpha = 0.3) +stat_cor(method = "pearson",label.y.npc = "top",size=4)+geom_ribbon(aes(ymin=low,ymax=up),alpha=0.5,fill="#FBB7B7")+theme_bw() +theme(legend.position="none") +scale_fill_manual(values=c("#FBB7B7")) +scale_color_manual(values=c("#FBB7B7"))+scale_y_continuous(position = "right")+facet_wrap(~va)+theme_bw()+theme(text = element_text(family = ziti,face = "bold"),axis.title = element_text(# family = ziti,##坐标轴标签字体# face='bold', ##字体外形(粗斜体等)size=14, ##字体大小lineheight = 1),##标签行间距的倍数axis.text = element_text(# family = ziti,##字体# face="bold", ##字体外形(粗斜体等)color="blue",size=12),strip.text = element_text(size=16, lineheight=0.5))+ ###facet标签字体大小设置# scale_x_continuous(limits = c(1,7),breaks=seq(0,7,1))+ #x坐标轴刻度标签和范围# scale_y_continuous(limits = c(10,45),breaks=seq(10,45,10))+  #y坐标轴刻度标签和范围# geom_hline(yintercept=15,size=0.5,linetype=2,color="blue")+  ##横轴的虚线labs(title ="", ##添加X,Y,主标题x="Year", y=expression(bold(paste(Monthly," ",mean," ",values," ","(",10^7,w,")"))))###设置上标

问题:R语言导出的PNG图到Visio中变成黑白的,EMF格式导出没有半透明颜色背景;最终以TIFF格式顺利导入Visio

20230114——facet_wrap上下标

facet_wrap上下标参考:

https://www.5axxw.com/questions/content/rvm4ly

[Unicode] Unicode的上标与下标_虎猫_EICHO的博客-CSDN博客_unicode 下标

patch包拼图参考:R语言ggplot2拼图包patchwork安装使用_R语言_脚本之家

问题:
 patchwork包图与图之间的间隙不知道怎么调整?????比如,如果四个图竖向排列之间无间隙共用一个坐标轴呢?

R语言绘图、数据处理学习记录持续更新相关推荐

  1. R语言基本函数的学习(持续更新)

    目录 前言 Tidyverse包 arrange()函数 head()函数 filter()函数 select()函数 summarize()函数 group_by()函数 mutate()函数 前言 ...

  2. R语言绘图基础学习(一)

    绘图基础 直方图 散点图 条形图 饼图 箱线图 星相图 脸谱图 茎叶图 QQ图 colors()函数 直方图 hist(x,freq=FALSE,breaks=num,col=color) 直方图在横 ...

  3. 【python爬虫学习记录 持续更新】多线程多进程,带线程池爬取实例

    文章目录 简介 多线程codingFrame 多进程codingFrame 线程池与进程池 线程池爬取实例(主页url隐了 主要看思路 和如何使用线程池框架) 简介 进程是资源单位 线程是执行单位 每 ...

  4. Python学习记录——持续更新

    python获取当前日期 time.strftime('%Y-%m-%d') python通过命令行传参在py文件中如何读取 通过sys模块中的 sys.argv可以访问到所有的命令行参数,返回值是包 ...

  5. R语言数据处理学习记录--使用linkET包完成mental test

    R语言数据处理学习记录–使用linkET包完成mental test 注:本文仅作为自己的学习记录以备复习查阅 一 简单介绍一下 这个包依旧是来自于GitHub上,作者给出的介绍:linkET的目标是 ...

  6. 语言 提取列名_学习健明老师发布的R语言练习题的学习笔记(二)

    学习者:骆栢维 题目来源:生信基石之R语言 中级10 个题目:http://www.bio-info-trainee.com/3750.html 备注:本文为笔者学习健明老师GitHub答案代码的学习 ...

  7. (一)Git学习记录(不断更新)

    作为程序员如果你还不知道 Git 和 GitHub,说不过去吧,赶紧来学习一波. 一.认识GitHub Git 是个版本控制系统,说明白点就是进行代码的各种管理,比如你写错代码进行回滚啊.追寻 Bug ...

  8. R语言ggplot2移除图例_读书笔记:R语言绘图—ggplot2

    这次给大家带来的是R语言绘图神器-ggplot2绘图包,根据Hadley的说法,这个包的核心思想,是来源于 Leland Wilkinson<The Grammar of Graphics> ...

  9. R语言与机器学习学习笔记(分类算法)

    转载自:http://www.itongji.cn/article/0P534092014.html 人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经 ...

最新文章

  1. 0基础培训java必须掌握的一些知识点
  2. (一)win7下cocos2d-x 21 + vs2010
  3. node mysql批量写入_如何使用node.js在MySQL中进行批量插入
  4. MongoDB_限制集(Capped)
  5. 012_Switch开关
  6. [O365] Azure Active Directory Sync EVENT ID 906 FAILED While Purging Run History. Invalid Namespace
  7. Python使用数学形态学方法处理图像
  8. mysql drop user 并删除_MySQL删除用户( DROP USER)
  9. 智慧楼宇管理后台、运维配置、设备台账、设备管理、维保统计、巡检统计、维修工单、报修统计、电子巡更、智能楼宇运营、运营后台、智慧社区、楼宇设备监控管理端、智能社区管理系统、楼宇运维管理系统
  10. 存储过程中的事务实现
  11. Golang项目:客户信息管理系统(附源码) (Golang经典编程案例)
  12. Lenovo笔记本BIOS详解
  13. 信息可视化——走近人类命运共同体
  14. css实现剪切蒙版,CSS3“蒙版(剪切路径)”: clip-path
  15. 电池充电电路(TP4059)详解
  16. 光滑曲线_第九章 曲线积分与曲面积分 第六节 高斯公式和斯托克斯公式
  17. 一文解决关于建立时间和保持时间的困惑
  18. python 神经网络预测未来30天数据_使用LSTM循环神经网络的时间序列预测实例:预测未来的货币汇率...
  19. python画波浪线_PPT绘制波浪线的四种方法
  20. 微信小程序:小程序开发中申请优惠券步骤

热门文章

  1. 华为 eNSP 模拟器配置动态路由(ospf)
  2. html实现艺术字体颜色,Word中将标题设置为艺术字,式样为艺术字库中的填充-红色,强调文字颜色2,粗糙棱台,...
  3. 记一次rk平台热点打开流程追踪记录
  4. 信号傅里叶变换后的实数和虚数部分理解
  5. 免费H5页面制作工具大汇总
  6. 常用的JavaScript位操作(Bitwise)
  7. 关于eclipse与java version不兼容的问题
  8. Acrobat 删除pdf页面
  9. 自建数据库MySQL和云数据库Rds MySQL的优缺点
  10. 软件安全漏洞测试报告_现实生活中的软件安全漏洞以及如何确保安全