R base笔记

R语言细节汇总

  1. 查看是否安装某个包:requireNamespace("nnls", quietly = TRUE). 加载R包除了library()函数还有require()函数。如果安装了某个包,require()就会返回TRUE,并加载R包。没安装就会返回FALSE.
  2. 查看R包在线帮助文档browseVignettes('stringr')
  3. &, | return a vector, &&, || return a number.
== identical(x,y) all.equal(x,y,tolerance=) dplyr::near()
返回等长向量 完全相等 容许误差 容许误差
  1. ctrl+shift+R 添加注释;
  2. dir('path',recursive=F)返回当前路径下的文件, recursive=T会返回目录下所有文件;dir.create('path') 创建文件夹. 复制别的文件夹的文件到当前位置file.copy().
a = dir("../pipeline/",pattern = "R$")[2:6] #提取需要复制的文件,dir()显示某个目录下有哪些文件,pattern = "R$"是显示以.R结尾的文件(代码)。
for (i in a) {
   
  file.copy(paste0("../pipeline/",i),"./") # file.copy():复制文件
}
  1. do.call()函数将list扁平化,如do.call(rbind, ls)行合并list元素中每一个.

  2. NA与null区别:

    • NA表示数据集中该数据的遗失,对含有NA的数据集直接操作,NA不会被剔除. 如x<-c(1,2,3,NA); mean(x)返回NA。NA没有自己数据类型,会追随其他数据类型,如因为mode(x)='numeric', mode(x[4]) 也是numeric.
    • NULL表示未知状态,不知道存不存在数据,运算时不会计算。如x<-c(1,2,3,NULL), mean(x)=2. NULL是不算数的,length(c(NULL))=0length(c(NA))=1, 即NA占了位置.
  3. x[x%in%y]intersect(x,y)区别:前者只查看,不去重; 后者会自动去重
    r > x = c(1,3,5,1,3) > y = c(3,2,5,6,2) > x[x %in% y ] [1] 3 5 3 > # [1] 3 5 3 > intersect(x,y) [1] 3 5

  4. match函数:向量匹配排序. match(x,y)依次返回x中每个元素在y中位置. y[match(x,y)]以x作为模板,给y调顺序.

    > x <- c("A","B","C","D","E")
    > y <- c("B","D","E","A","C")
    > match(x,y) #依次返回x中每个元素在y中位置
    [1] 4 1 5 2 3
    > y[match(x,y)] # 将y按照x顺序排序
    [1] "A" "B" "C" "D" "E"
    > x[match(y,x)] # 将x按照y顺序排序
    [1] "B" "D" "E" "A" "C"
    > a <- data.frame(x,y,z=sample(100,5
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值