平常使用R的时候,会遇到一些小问题,这时就会去上网查,但查到结果,如果不记录起来,常常会遇到相同的问题时再次查询,费时费力,因此决定记录下这些零碎的R语言知识(不定时更新)

1.查看R版本号

version

R语言中ggplot2的功能 如何用r语言中的ggplot2作图_数据


2.输出的txt文件去掉第一列1,2,3…

在输出的参数加上

row.names=F

3.R语言 scale()
之前只知道scale()是标化数据,不知道具体是怎么标化的,知其然,不知其所以然。
查了一下,scale()可以根据选的参数进行数据中心化与标准化。

1)数据的中心化是指数据集中的各项数据减去数据集的均值
2)数据的标准化是中心化之后的数据在除以数据集的标准差

a=c(-0.243421520939024,-0.176367905181818,-0.126644970576923)
b=scale(a)

R语言中ggplot2的功能 如何用r语言中的ggplot2作图_R语言中ggplot2的功能_02


4.数据筛选还是subset()最好用

dplyr包

5.调整因子的顺序,有时候画图的时候需要修改图例的顺序

#只有两组的时候,可用以下
test$orig.ident=factor(test$orig.ident,levels = c("A","B"))

#比较多,比如一列,可以用:
TF_rowname<-TF[,1]
TF_rowname=rev(TF_rowname)
TF$Motif<-factor(TF$Motif,levels =TF_rowname,ordered = T )

R语言中ggplot2的功能 如何用r语言中的ggplot2作图_删除文件_03

6.删去ggplot2 legend(图例)的标题

ggplot(carrots, aes(y=MeanLength, x=Farm, fill=Type)) + 
  geom_bar(position="dodge") +
  theme(legend.position="top", legend.direction="horizontal") +
  scale_fill_discrete("")

或者

labs(fill="")

参考的教程
https://www.656463.com/wenda/rhscggplot2zdtlbt_127

7.ggplot2常用的theme

参考链接:

8.ggplot2修改字体

axis.text.x:对x轴上字体修改
axis.text.y:对y轴上字体修改
axis.title.x:对x轴上标题修改
axis.title.y:对y轴上标题修改
legend.title:对图例标题进行修改
legend.text:对图例文本进行修改
element_blank():空
axis.ticks.x :对刻度线进行修改

p2=p1+theme(axis.text.x=element_text(family="Arial",size=10,color="black",angle=0))
p3=p2+theme(axis.text.y=element_text(family="Arial",size=10,color="black"))

p + theme(legend.title=element_text(color="purple",
                                    face="bold",size=12))
                                   
 #隐去x轴刻度线
p4=p3+theme(axis.ticks.x=element_blank())

#x,y轴标题取消
p3<-p2+theme(axis.title.x= element_blank(),axis.title.y= element_blank())

参考文章:https://www.jianshu.com/p/8e33dc11ed8c

去除网格,边框与背景,还有极端点恢复(很好的一篇例子)
https://www.codenong.com/10861773/ grid介绍:
http://t.zoukankan.com/ljhdo-p-4874785.html 去除网格与背景

9.subset()
subset()用于筛选特别棒,但是我遇到过几次报错,整的很心烦,搜网上也没有啥方法,记录一下出错的原因

这里是两个data.frame,分别是geneid与geneid与位置信息的对应

R语言中ggplot2的功能 如何用r语言中的ggplot2作图_图例_04

R语言中ggplot2的功能 如何用r语言中的ggplot2作图_r语言_05


以下是正确的代码

gene = read.table('id.txt',header = T,sep = '\t')
pos= read.table('pos.txt',header = T,sep = '\t')
subset(pos,id=="Ackr3",select=c(id,pos1))

下面这句也是可行的:

R语言中ggplot2的功能 如何用r语言中的ggplot2作图_r语言_06

以下是出现报错的语句:

R语言中ggplot2的功能 如何用r语言中的ggplot2作图_r语言_07


10.删除文件

#删除文件,并返回逻辑值
file.remove()

#删除文件
unlink()