美文网首页R
我写了一个最简单的R包,你学吗

我写了一个最简单的R包,你学吗

作者: 小洁忘了怎么分身 | 来源:发表于2019-10-19 22:28 被阅读0次

前情回顾

10月6号开始学+考科三,总共四天半(周日到周四),然后飞南京巡讲(周五到周一),在南京和小外甥玩了三天(周二到周四),小姨真难当啊,没有睡觉自由和起床自由。昨天周五高铁回烟台老家,今天终于可以开工,公众号恢复更新,我今天还给豆豆交了10块钱保证金,保证今天写出一篇,果然money就是生产力,哈哈。

我要学R包开发了,一起吗

其实就是新建一个Rpackage空壳子,知道应该在/R文件夹下的脚本里写函数。

1.写个函数进去

然后在R/下面的hello.R写进去一个函数:
以前的需求,统计数据框每列的重复值数量。

dumd <- function(x){
  if(!require(tidyverse))install.packages("tidyverse")
  suppressMessages(library(tidyverse))
  colname <- vector("character")
  count <- vector("integer")
  for(i in 1:ncol(x)){
    colname[i] = colnames(x)[[i]]
    count[i]=nrow(x[!duplicated(x[,i]),])
  }
  df <- tibble(colname,count) %>%
    arrange(desc(count))
  print(df)
}

别忘了保存这个脚本。
当然,一个好的R包后面还有很多工序,我只是想搞出一个最小可用的包,且能够在其他电脑上面使用。

2.生成tar.gz格式的压缩包

devtools::build()这个命令即可生成R包。

devtools::build()
# ✔  checking for file ‘/Users/kingjie/Library/Mobile Documents/com~apple~CloudDocs/0.learn/bioinfor/bioinfor/DESCRIPTION’ ...
# ─  preparing ‘bioinfor’:
#   ✔  checking DESCRIPTION meta-information
# ─  checking for LF line-endings in source and make files and shell scripts
# ─  checking for empty or unneeded directories
# Removed empty directory ‘bioinfor/tests/testthat’
# ─  building ‘bioinfor_0.1.0.tar.gz’
# 
# [1] "/Users/kingjie/Library/Mobile Documents/com~apple~CloudDocs/0.learn/bioinfor/bioinfor_0.1.0.tar.gz"

看最后,那个叫bioinfor_0.1.0.tar.gz的文件就是做出来的R包了!
由于暂未成型,没有托管到CRAN或者github,所以还不能直接用install.packages等命令来安装。
但我jio得既然是tar.gz,那就应该可以移植到其他电脑来用吧!试了直接解压,报错了,这就说明肯定有其他方法。

3.怎么在其他电脑上面安装和使用这个包呢?

用网盘传过来压缩包,我将它保存在了D:/rpackage。

搜索是个好习惯

简而言之,就是需要Rtools,然后用cmd命令安装就行,命令是:

Rcmd.exe INSTALL "D:/rpackage/bioinfor_0.1.0.tar.gz"

Rstudio自带终端,l就不需要cmd了,注意,是在控制台面板上面的terminal:



一下就搞定!

4.安装好了,能直接用吗?

不能,要library()啊~

library(bioinfor)

library 没有报错,那就是安装成功

5.测试一下包里的函数

dumd(iris)
# Loading required package: tidyverse
# -- Attaching packages --------------------------------------- tidyverse 1.2.1 --
#   √ ggplot2 3.2.1     √ purrr   0.3.2
# √ tibble  2.1.3     √ dplyr   0.8.3
# √ tidyr   1.0.0     √ stringr 1.4.0
# √ readr   1.3.1     √ forcats 0.4.0
# -- Conflicts ------------------------------------------ tidyverse_conflicts() --
#   x dplyr::filter() masks stats::filter()
# x dplyr::lag()    masks stats::lag()
# # A tibble: 5 x 2
# colname      count
# <chr>        <int>
#   1 Petal.Length    43
# 2 Sepal.Length    35
# 3 Sepal.Width     23
# 4 Petal.Width     22
# 5 Species          3

出结果了!那就是成功了哈哈。
如果你想试一下安装我写的小辣鸡包0.1.0版本,那就去后台聊天窗口回复“我要R包”,我把小压缩包发给你,只有1k大小,里面就一个函数dumd,惊险,刺激,不过我推荐自己对照本文自己搞一下!

边学边写的如果有什么不妥请前辈指出

相关文章

  • 我写了一个最简单的R包,你学吗

    前情回顾 10月6号开始学+考科三,总共四天半(周日到周四),然后飞南京巡讲(周五到周一),在南京和小外甥玩了三天...

  • 我写了一个R包

    今天,我开发的R包,binmapr,终于上线CRAN了,也就意味着你可以通过install.packages("b...

  • 2019-06-20

    R包文档系统是我见过最好的,阅读起来最简单。

  • 2019-02-19

    R语言学习笔记-R包安装 R语言是一个开放性的统计学语言,r包的丰富程度涵盖了几乎生产和生活的各个方面,r包与r包...

  • 学习小组Day6笔记--镰羲

    R包 安装加载R包 镜像设置参照 [你还在每次配置Rstudio的下载镜像吗? (qq.com)](https:/...

  • 生信学习DAY6-森森

    第6天,学习R包及使用R包说明书(cheatsheet)。R包说明书俗称小抄,是一个很好的学习操作指南。 1. 学...

  • “快餐学习式”,还算学习吗?

    学习有“捷径”吗?包学会吗?包拿证吗?是不是我交学费了,你们就保证我就能学会?有没有简单学习,学习后也很有用的?学...

  • R包安装、加载与更新

    掌握了R基本的一些概念,今天咱们来简单了解下R包,R包安装、加载与更新 安装R包的几种方式 从CRAN中安装R包 ...

  • 用Rstudio创建R包--感悟

    学R包请参考此链接:Rstudio 开发R包文档 其他文章:facebook-symbolsRstudio 开发R...

  • Day6-冯致远

    学R包: 1. R包是啥?是多个函数的集合。Biocductor上有各种生信分析的R包。 2. Biocducto...

网友评论

    本文标题:我写了一个最简单的R包,你学吗

    本文链接:https://www.haomeiwen.com/subject/tmhypctx.html