前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《高效R语言编程》笔记

《高效R语言编程》笔记

作者头像
用户1075469
发布2021-04-30 11:48:31
9780
发布2021-04-30 11:48:31
举报
文章被收录于专栏:科技记者

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

1、跑分

直接是代码了。

代码语言:javascript
复制
# 安装跑分包
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、安装和加载包的简便快捷方法

代码语言:javascript
复制
# 更新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的加载。

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

扫描二维码

获取更多精彩

公众号

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科技记者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前面宏基因组与R语言的笔记还未结束,又开始新坑啦,都是要继续的啦!
  • 1、跑分
  • 2、安装和加载包的简便快捷方法
  • 3、R的启动参数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档