《高效R语言编程》笔记

最近从南图借了本《高效R语言编程》,记些笔记分享一下!

前面宏基因组与R语言的笔记还未结束,又开始新坑啦,都是要继续的啦!

1、跑分

直接是代码了。

# 安装跑分包
install.packages(c("microbenchmark","profvis"))
library(microbenchmark)
# 这个包默认运行程序100次,进行基准测试,获得微秒级差异
df <- data.frame(v<-1:4,name<-letters[1:4])
microbenchmark(df[3,2], df[3,"name"],df$name[3])
# 纳表级别差异,第三种效率最高
Unit: nanoseconds
          expr  min   lq    mean median     uq   max neval
      df[3, 2] 8002 8202 8619.04 8402.0 8650.5 13902   100
 df[3, "name"] 8301 8501 9361.11 8701.5 9001.0 63001   100
    df$name[3]  800  902 1246.00 1001.0 1101.0 19801   100
# 性能测试profvis()把代码包里面就可以啦
library("profvis")
library(microbenchmark)
profvis(
  expr = {
    x <- 1:1000
    # cycle
    cs_for <- function(x){
      for (i in x) {
        if (i==1) {
          xc<- x[i]
        } else{
          xc <- c(xc,sum(x[1:i]))
        }
      }
      xc
    }
    #apply
    cs_apply <- function(x){
      sapply(x, function(x) sum(1:x))
    }
    # cumsum
    microbenchmark(cs_for(x),cs_apply(x),cumsum(x))
  }
)
# 查看系统信息
Sys.info()
                                     sysname                                      release                                      version 
                                     "Linux"                          "4.15.0-96-generic" "# SMP Wed Apr 1 03:25:46 UTC 2020" 
                                    nodename                                      machine                                        login 
                             "VM-0-6-ubuntu"                                     "x86_64"                                    "unknown" 
                                        user                               effective_user 
                                  "zd2572"                                   "zd2072" 
在这里插入图片描述

2、安装和加载包的简便快捷方法

# 更新R Windows, 其他系统需要下载或者系统命令更新
installr::updateR()
# 批量安装
pkgs <- c('ggplot2','raster')
install.packages(pkgs)
# 批量加载,不使用require()是因为library()在包不存在时会报错
inst <- lapply(pkgs, library,chracter.only=True)
# 安装R包依赖项
# Debian系
sudo apt-cache r-cran-*
sudo apt install r-cran-rgdal
# Windows
installr::install.rtools()
# 更新R
update.packages(ask=FALSE)
# 可以将以下放在Rprofile文件的.Last函数,方便使用:
utils::update.packages(ask=FALSE)

3、R的启动参数

这些启动参数可以添加到R启动命令中, 可以加快R的加载。

# 仅在工作目录下查找启动文件
--no-environ 
--no-init  
# 不加载当前工作目录下的Rdata
--no-restore
# q()退出时不保存RAM对象
--no-save
# 加载基础R
R --vanilla




扫描二维码

获取更多精彩

公众号



本篇文章来源于微信公众号: 微因

发表评论