泥腿子走路走的多了,也要时常总结下,如有高招请多多赐教。
以下所有代码没有详细描述,可以自己help或?。
一、问题
R语言科研规范出图希望能达到一键出图无需后期修改
1、主要解决数据导入、排序、数值因子转后、长宽转化、提取等问题
2、主要解决ggplot2图例、XY轴标签及范围、图框、颜色、字体、大小、排序等问题
二、数据整理
关于数据的导入、排序、数值因子变量转化、长宽转化和提取问题?
1、导入常用:
1)首选csv文件:read.csv()
2)xlsx文件:openxlsx包中read.xlsx()
2、数值型转因子型
root_1$date <- as.factor(root_1$date)##数值型-因子型
3、提取常用
1.subset()
2.filter()
注意:|或,&和、管道符%>%的用法
filter(hh_2,hh_2$分组!="A" & hh_2$起始时间=="2010" | hh_2$起始时间=="2012")
序号 分组 起始时间 终止时间
1 14 B 2010 2011
2 15 B 2010 2011
3 16 B 2010 2011
4 17 B 2010 2011
subset(data,变量1==“T1”|变量1==“T2”)%>%subset(变量2==“男”)##类似
##注意:|或,&和、管道符%>%的用法
其实这个如果有单列变量1=c(“1”,“2”,“3”)类似的用法就好了。
4、排序常用
library(dplyr)
arrange(data,变量1,变量2,,,)
5、长宽转换常用
1、常用宽转长
2、注意用法,有时遇到奇数列转一列,偶数列转一列,一次不行搞两次,然后合并
ibrary(tidyr)
root_12 <- gather(root_11[c(1,2,3,4,6,8)],##提取数据偶数列
key = "mean",##转后因子变量列变量名
value = "value.m",##转后数值列变量名
4:6)##4-6列全部转
6、因子变量名大小设定
因子变量的大小顺序方便后期作图图例顺序排列,也可以更改因子变量labels
mydata$Treat <- factor(mydata$Treat,order=TRUE,
levels = c("Y10","Y6","Y2","Y0"))##
##对比下不同
> str(mydataframe)
$ Treat : Factor w/ 4 levels "Y0","Y10","Y2",..: 2 2 2 2 4 4 3 3 1 1 ...
>str(mydataframe)
$ Treat : Ord.factor w/ 4 levels "Y10"<"Y6"<"Y2"<..: 1 1 1 1 2 2 3 3 4 4 ...
7、数据分组计算
结合这两个博客,让你的数据分组计算彻底摆脱excel的托拉硬拽
R语言分组计算平均数、SE、SD等等
R语言函数paste和paste0
增加个彩蛋,如果变量列名复杂,制作formula公式手动搞挺费精力你可以这样
> var1 <- colnames(leaf[-c(1:3)]) %>% paste(sep="",collapse = "+") %>% paste("Treatment",sep = "~") %>% paste("treat",sep = "+") %>% formula()
> var1
S + P + C + M + H + O ~ Treatment + treat