R语言一些编程常用的地方

2021-01-20  本文已影响0人  单细胞空间交响乐

加载R包的时候使用suppressMessages运行的时候不显示提示信息

suppressMessages({                          ####使用suppressMessages运行的时候不显示提示信息
library(base)
library(argparser, quietly=TRUE)
library(Seurat)
library(dplyr)
library(nichenetr)
library(tidyverse)
})

R语言创建多级目录

dir.create(argv$outdir, recursive=TRUE)###recursive=TRUE用于创建多级目录

柱形图调节柱子的顺序

x$variable = factor(x$variable, levels=c('RT_0','KP_12h','KP_24h'))
就可以按照levels的顺序进行绘制柱形图。

将图例的符号调大,设置成一列

guides(fill = guide_legend(override.aes = list(size=5),ncol = 1,byrow = TRUE))

取分位值

quantile(pbmc@meta.datanFeature_RNA,probs = 0.99) 99分位值 quantile(pbmc@meta.datanFeature_RNA,probs = 0.5) 二分位值

查找字符串

grep(pattern,string)                    返回第一个匹配到的下标
grepl(pattern,string)                    返回bool型

R环境中调用python

library(reticulate)
#指定python路径
use_python('/your path/',required = T)
repl_python()
##进入python命令,可以在R studio中交互使用python
import pandas as pd
# 回到R
exit
###调用python里面的变量
x <- python$zhao

R语言检查错误(类似于python的try except)

Matrix_cluster <- try(cbind(Matrix,Cluster$Cluster))
if ('try-error' %in% class(Matrix_cluster)){
stop('the length of cluster don\'t match the length of rownames(Matrix)!!!!')

R语言让字母大小写

toupper()和 tolower()函数的基本语法为:
toupper(x)
tolower(x)

R语言让首字母大写,其余小写

zhao = 'zhao yun fei'
paste0(toupper(substr(zhao, 1,1)),tolower(substr(zhao,2,str_count(zhao))))
###输出 Zhao yun fei

R语言查看字符串的个数

str_count('zhao yun fei')
###返回12

R语言字符替换

gsub("目标字符", "替换字符", 对象)

R语言的grep

grep(pattern, x, ignore.case = FALSE, perl = FALSE, value = FALSE, fixed = FALSE, useBytes = FALSE, invert = FALSE)
返回包函该pattern元素在x中的索引
eg:
x= c('zhao','yun','fei')
grep('z',x)
返回1
grep('f',x)
返回3

R语言的grepl

grepl(pattern, x, ignore.case = FALSE, perl = FALSE, fixed = FALSE, useBytes = FALSE)
返回逻辑向量,bool
eg:x= c('zhao','yun','fei')
grepl('f',x)
返回FALSE FALSE  TRUE

R语言的join家族函数(inner_join, full_join, left_join, right_join)

直接上例子

x = data.frame(key = c(1,2,3,4),value = c('a','b','c','d'))
y = data.frame(key = c(1,2,3,8),value = c('a','b','c','dd'))
x %>% inner_join(y, by = "key")
返回:
key value.x value.y
   1       a       a
   2       b       b
   3       c       c
####这个时候取了数据的交集,且共有列key在第一行,接下来就是x。

full_join将显示全部的x,y的信息,独有的会用<NA>补齐:

x %>% full_join(y, by = "key")
key value.x value.y
   1       a       a
   2       b       b
   3       c       c
   4       d    <NA>
   8    <NA>      dd

left_join将显示全部x的信息,y没有的用<NA>补齐。
right_join将显示全部y的信息,x没有的用<NA>补齐。

上一篇 下一篇

猜你喜欢

热点阅读