常用的R语言命令 | 记录 | 可根据查找看自己需要的

13 篇文章 0 订阅

匹配:

match:

找出x中元素在y中的位置,返回y中相关元素的索引。

match(x, y, nomatch = NA_integer_, incomparables = NULL)

#  x: 向量, 要匹配的值;
#  table: 向量, 被匹配的值;
#  nomatch: 没匹配上的返回值, 必须是整数;
#  incomparables: 指定不能用来匹配的值.

与 %in% 相似。

%in%:

值匹配,并且"返回其第二个参数的第一个(第一个)匹配位置的向量”,返回逻辑值。

a[a %in% b]  ## 提取a,b共有元素
sum(a %in% b) ## 统计共有元素的个数
a[ !a %in% b] ## 提取仅在a中存在的元素

严格区分%in%的两侧向量的放置顺序
如果要从a中提取元素,那么a一定要放在%in%前面。


which(a[a %in% b]) 
返回的是a[a %in% b]中为TRUE的位置索引

==

逻辑运算符,比较两个事物是否完全相等。

x == y

# 把x的第一个元素与y的第一个元素进行比较,
# x的第二个元素与y的第二个元素进行比较,依此类推。
# 当使用x == y时,x和y的长度必须相同。
# 比较装置"等于",输出为等于x(或y)长度的逻辑向量。

有关循环的函数:

apply:

# 对每一行执行命令,并返回结果
apply(a,1,function(x))

# 对每一列执行命令,并返回结果
apply(a,2,function(x)) 

lapply:

# 指定的函数对列表中每一个向量执行命令,并返回结果
# 如果a不是列表,可能会被as.list(a)强制转化成列表,如果没有强制转化就会报错。lapply()中他的对象必须是列表。
lapply(a,function(x)) 

sapply:

# 属于lapply的变形,可以直接返回一个包含所有元素的向量
sapply(a, function(x))

tapply:

# 将函数应用于某向量的子集
# a是数值或者其他类型的向量
# index是另一个向量,长度和第一个向量相同,用来表明第一个向量中的各个元素分别属于哪一组(即分组信息)

tapply(a, index, function(x), simplify = TRUE)

do.call:

采用一个函数作为input,并将其他参数泼到函数上。

?do.call
do.call(function, args, quote = FALSE, envir = parent.frame())
arg 作为list,输入进function(x)中x

complete.cases

除去缺失值、返回逻辑值向量   is.na / na.omit

complete.cases(x)

字符串

提取字符 substr | substring

x、text需要是字符串型

substr(x, start, stop)
substring(text, first, last = 1000000L)

 当start值比x中字符串的长度大时,结果会返回 ‘ “ ” ’值。

替换字符 gsub

gsub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE,
          fixed = FALSE, useBytes = FALSE)

pattern:目标字符

replacement:替换字符

strsplit

unlist()

grep/grepl()

查看版本

# R中导入的所有包版本
sessionInfo()

#查询特定R包版本
packageVersion('Seurat')

调整R镜像调用窗口(当无法正常显示出来时)

chooseCRANmirror(graphics=FALSE)

快速显示配色

用于可视化已知配色编号

library(scales)
show_col(mycolor)

自定义颜色

通过已知颜色的RGB值来快速定位颜色信息

rgb(red, green, blue, alpha, names = NULL, maxColorValue = 1)

ep:
rgb(227,190,0,maxColorValue = 255)
# rgb()函数用于指定0到1之间的红、绿、蓝颜色的色度。
# 红色、绿色和蓝色的阴影也可以在 0 到 255 之间指定,使用这个范围时会增加一个参数 maxColorValue = 255。此时返回指定色度对应的十六进制代码。

对数据框的数据进行分类运算 by | with | within | transform

  • by()

类似于函数tapply(),将数据框按因子类型分类后运算

# data为数据框或者矩阵,是后续进行FUN的输入数据
# INDICES为因子list,能够通过这个将data进行分类

by(data, INDICES, FUN, …, simplify = TRUE)
  • with()  | within() | transform()

with()  | within():使用 list 或 data frame中items (variables) 评估执行R表达式expr

区别:within()函数在评估执行R的表达式(命令)之后检查环境,并对数据的副本(a copy of data)做出相应的更改,然后再返回带有这些更改内容的新对象。

   with()函数: 返回评估执行R表达式的值;within()函数: 返回修改对象。

with(data, expr, ...)
within(data, expr, ...)

例:

df <- data.frame(x=c(1,2,3),y=c(5,6,8))
with(df,
     {a=x+y
     b=x-y
     print(a)
     }
)
# [1]  6  8 11

df.up <- within(df, z <- x+y)
#  df.up
  x y  z
1 1 5  6
2 2 6  8
3 3 8 11

Transform()与within()类似。但Transform()只能用于数据框的改变。transform(数据框名,对数据框的一系列修改),修改中间用逗号分隔,不跨行。

读取.xls文件

install.packages('readxl')
library(readxl)

data <- read_excel("***.xls", sheet = 1, range = 'A6:D10', 
    col_names = TRUE, col_types = NULL, na = '', 
    trim_ws  = TRUE, skip = 0, n_max = Inf, 
    guess_max = min(1000, n_max), 
    progress = readxll_progress(), .name_repair = 'unique')

# sheet:指定表格页码,默认第一个。
# range:指定读取区域,优先级在sheet/skip/n_max前。
# col_names: TRUE默认读取第一行为列名。如果为FALSE就自定义。可指定col_types中的向量

更新ing

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值