平常使用R的时候,会遇到一些小问题,这时就会去上网查,但查到结果,如果不记录起来,常常会遇到相同的问题时再次查询,费时费力,因此决定记录下这些零碎的R语言知识(不定时更新)
1.查看R版本号
version
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)
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 )
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
参考链接:
https://blog.csdn.net/qq_37379316/article/details/114262489
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.cnblogs.com/wkslearner/p/5701207.html
去除网格,边框与背景,还有极端点恢复(很好的一篇例子)
https://www.codenong.com/10861773/
grid介绍:
http://t.zoukankan.com/ljhdo-p-4874785.html
去除网格与背景
https://blog.csdn.net/weixin_46605479/article/details/119910545
9.subset()
subset()用于筛选特别棒,但是我遇到过几次报错,整的很心烦,搜网上也没有啥方法,记录一下出错的原因
这里是两个data.frame,分别是geneid与geneid与位置信息的对应
以下是正确的代码
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))
下面这句也是可行的:
以下是出现报错的语句:
10.删除文件
#删除文件,并返回逻辑值
file.remove()#删除文件
unlink()