常用命令的坑
1.写出命令
(1) write.table函数
我自己每次使用这个函数的时候,一般不设置col.names的值,这次在运行时,发现设置col.names = T的时候,列名总会往前移一格,导致列名无法对齐,这就很气了,后来百度上发现哈哈哈,设置为col.names = NA就可以了,开心。
write.table(exp_cells, file=paste("scRNAseq_expMatrix_cell_number_", save_file_name, ".txt", sep = ""), sep="\t",quote=F, col.names = NA )
(2)write.xlsx用于写出到xlsx,特别是一个list中有多个元素时,可以将每个元素写到对应的sheet表格中
library(openxlsx) #写入xlsx
score <- list(ADRN_score = ADRN_score, MES_score = MES_score)
write.xlsx(score, file = "G:\\Ajitongjiuniversity\\Bioinformatics\\Single cell sequencing\\神经母细胞瘤测序\\data\\CTC_expMatrix\\ADRN_MES_exp\\result_score_all.xlsx", col.names = T, row.names = T)#col.names = T, row.names = T有行名和列名
2.R中的字符串替换
#R中可以用gsub替换字符串中你想替换的字符
col_names <- gsub(pattern = "\\.", replacement = "-", x = colnames(exp_matrix)) #R中使用\\代表转义符号
#我刚开始的时候,直接使用
col_names <- gsub(pattern = ".", replacement = "-", x = colnames(exp_matrix))#全部字符都被替换成了-,妈呀搞了半天没想明白,后来才明白了.在正则表达式里面代表的是任意字符串。哈哈还明白了R里面用\\表示转义坑爹
去掉双引号
3.R中字符串操作
[R中字符串cao'zuo](http://blog.sina.com.cn/s/blog_62b37bfe0101jujb.html)
4.R中factor的赋值
#创建一个向量
x<-c(1,2,3,4,5,1,2,3,4)
#将x转换成因子类型存处在x1 中
x1<-factor(x)
#我们可以用levels函数查看他的水平
levels(x1)
#获取因子水平为2的位置
num<-which(levels(x1)==2)
#将水平为2的重新赋值为1212,这样我们就完成了修改
levels(x1)[num]<-1212
5.R中按安装python 的安装包
6.R中的排序函数
sort,order,rank
R中rank函数使用
7.R中的ggplot画图
(1)图上添加标签 geom_text()
#根据特定点加上标签,比如根据data$label中是Celline的点就给相应的点加上标签,这里关键在于对于ifelse的使用,ifelse进行判断(ifelse(test,yes,no))最最难点在于对于ifelse的判断
p <- ggplot(data, aes(x=ADRN_score, y=MES_score, colour=label)) + geom_point() + geom_text_repel(aes(ADRN_score, MES_score,label = ifelse(data$label == "Cellline", cellnames,'')),size = 2,segment.size = 0.1)
ggsave(p, file="ADRN_MES_score_all_label.png", height = 6, width = 8)
==Note==:geom_text_repel(aes(ADRN_score, MES_score,label = ifelse(data$label == "Cellline", cellnames,'')),size = 2,segment.size = 0.1)
label = ifelse(datalabel =="Cellline",就加上标签,如果不是就什么都不干。 size = 2 表示字体大小为2,segment.size = 0.1表示线条粗细为0.1
参考的链接:
ggrepel解决标签之间重叠问题
R语言之可视化(20)之geom_label()和geom_text()
R语言可视化学习笔记之ggrepel包
(2)ggplot注释
(3) ggplot中的默认绘图颜色
##查看ggplot中使用的颜色
plot_color <- ggplot_build(p)$data[[1]]$colour
(3)多张图放一起
# zscore 多张图放一起
pdf(file = "ADRN_MES_z_score.pdf", height = 9, width = 13)
grid.newpage() ###新建图表版面
pushViewport(viewport(layout = grid.layout(3,2))) ####将版面分成2*2矩阵
vplayout <- function(x,y){viewport(layout.pos.row = x, layout.pos.col = y)}
print(p_z_LYC + theme(plot.title = element_text(hjust = 0.5)), vp = vplayout(1,1)) ###将(1,1)的位置画图p1
print(p_z_SZH + theme(plot.title = element_text(hjust = 0.5)), vp = vplayout(1,2)) ###将(1,2)的位置画图p2
print(p_z_WJC + theme(plot.title = element_text(hjust = 0.5)), vp = vplayout(2,1)) ###将(1,1)的位置画图p1
print(p_z_SHX + theme(plot.title = element_text(hjust = 0.5)), vp = vplayout(2,2)) ###将(1,2)的位置画图p2
print(p_z_Normal + theme(plot.title = element_text(hjust = 0.5)), vp = vplayout(3,1)) ###将(1,1)的位置画图p1
print(p_z_Cellline + theme(plot.title = element_text(hjust = 0.5)) + geom_text_repel(aes(ADRN_z_score, MES_z_score,label = rownames(p_z_Cellline$data)),size = 4,segment.size = 0.3), vp = vplayout(3,2)) ###将(1,2)的位置画图p2
dev.off()