1、创建项目工作目录

mkdir /home/sesa464509/R/demo
cd /home/sesa464509/R/demo
vi sayHello.R
------------------

sayHello<-function(name) {

print(paste("Hello",name))
  }

------------------

2、用package.skelelon()函数,生成sayHello项目的骨架

R
> rm(list=ls())
> setwd("/home/sesa464509/R/demo")
> package.skeleton(name="sayHello",code_files="/home/sesa464509/R/demo/sayHello.R")
> q()
$ cd /home/sesa464509/R/demo
$ ls -l
$ ls sayHello
$ vi sayHello/DESCRIPTION #定义了整个项目的配置信息
--------------------------

Package: sayHello      #项目名(包名)
  Type: Package          #项目类型
  Title: R package demo for sayHello    #项目标题
  Version: 1.0           #项目版本号
  Date: 2017-07-25       #项目创建日期
  Author: Fei Meng       #项目作者
  Maintainer: Fei Meng <fly.mengfei@gmail.com>      #主要贡献者
  Description: This package provides a package demo    #项目详细描述
  License: GPL-3         #项目的发布协议

--------------------------

$ vi sayHello/NAMESPACE

-------------------------

 export(sayHello)

-------------------------

$ vi sayHello/man/sayHello.Rd

-------------------------

\name{sayHello}
  \alias{sayHello}
  \title{a sayHello function demo}
  \description{
  a sayHello function demo
  }
  \usage{
  sayHello(name)
  }
  \arguments{
  \item{name}{a word}
  }
  \details{
  nothing
  }
  \value{
  no return
  }
  \references{
  nothing
  }
  \author{
  Fei Meng
  }
  \note{
  nothing
  }
  \seealso{
  nothing
  }
  \examples{
  function (name)
  {
  print(paste("Hello", name))
  }
  }
  \keyword{ sayHello }

-------------------------

$ rm sayHello/Read-and-delete-me       #删除可忽略的文件,否则check过程会出现警告

$ rm sayHello/man/sayHello-package.Rd

$ R CMD build sayHello          #执行打包命令

~/R/demo$ R CMD INSTALL sayHello_1.0.tar.gz      #需要在demo目录里安装sayHello包

~/R/demo$ cd

~$ ls /home/sesa464509/R/x86_64-pc-linux-gnu-library/3.3     #查看R的安装目录,找到sayHello

demo/sayHello/下文件及目录解释:

DESCRIPTION文件:项目描述文件,用于设置项目的全局的配置

NAMESPACE文件:项目命名空间,用于设置项目输入输出函数

Read-and-delete-me文件:说明文件,可以删除

man目录:存放函数的帮助文件

R目录:存放源代码文件的目录

man/sayHello.Rd:sayHello函数的帮助文件,LaTex语法,用来生成PDF文档

man/sayHello-package.Rd:sayHello包的帮助文件,可以删除

3、检查R包,发布到CRAN上

先安装LaTex

sudo apt-get install texlive-full
#安装LaTex
R CMD check sayHello_1.0.tar.gz
#执行check检查

卸载R包

$ R CMD REMOVE sayHello
#命令行卸载R包
> remove.packages("sayHello")
#函数卸载R包

4、Rstudio中开发R包

File -> New project -> New directory -> R package

编辑文件跟在linux一样

点击Rstudio的Build -> Build&Reload

然后点击check

创建Rdemo项目的更多相关文章

  1. 创建maven项目(cmd 命令)

    2016五月 22 原 创建maven项目(cmd 命令) 分类:maven (994) (0) 1.普通方式创建 1)进入cmd窗口执行 mvn archetype:generate 2) 光标停止 ...

  2. (八)Eclipse创建Maven项目运行mvn命令

    1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...

  3. Jenkins创建Maven项目及SSH部署

    前面我们已经安装了Jenkins的环境,以及配置好了jdk和maven.下面我们来看如何通过Jenkins将svn的项目进行打包和部署. 创建MAVEN项目 1.点击新建,输入项目名,选择" ...

  4. 终端指令操作创建Django项目

    需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...

  5. VS自定义项目模板:[2]创建VSIX项目模板扩展

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  6. 用Kotlin开发Android应用(II):创建新项目

    这是关于Kotlin的第二篇.各位高手发现问题,请继续“拍砖”. 原文标题:Kotlin for Android(II): Create a new project 原文链接:http://anton ...

  7. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  8. Eclipse+Maven创建webapp项目<一>(转)

    还在为jar下载而烦恼吗?还在为jar依赖关系而烦恼吗?还在为jar冲突而烦恼吗?强大的maven项目管理工具来拯救你们呢?自动下载jar,自动下载jar依赖包.你什么都不用做,只需要在中央仓库中co ...

  9. Eclipse+maven创建webapp项目<二>(转)

    原文地址:http://www.cnblogs.com/candle806/p/3439469.html 1.开启eclipse,右键new-->other,如下图找到maven project ...

随机推荐

  1. JS使用Enter事件将输入的字符倒叙输出

    在JavaScript中执行当用户按下Enter键位时将用户输入的字符倒叙输出! HTML代码: <body> <form id="form1" runat=&q ...

  2. 7, java数据结构和算法: 八皇后问题分析和实现 , 递归回溯

    什么是八皇后问题: 指的是,在一个8 * 8的棋盘中, 放置8个棋子, 保证这8个棋子相互之间, 不在同一行,同一列,同一斜线, 共有多少种摆法? 游戏连接: http://www.4399.com/ ...

  3. JSP三大指令是什么?

    JSP页面中的指令JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言等.语法规则:<%@ 指令名 属性=值 属性=值 ... %>指令可以有很多个属性,它们以键值对的形 ...

  4. Lombok——一款Java构建工具,“懒人”必备!!(idea版)

    一.简介 Lombok 是一种 Jav 构建工具,可用来帮助开发人员消除 Java 的冗长代码,尤其是对于简单的 Java 对象(POJO).它是通过注解实现这一目的. 二.使用 1.在idea中安装 ...

  5. P1091 [NOIP2004 提高组] 合唱队形

    题目描述 $N$位同学站成一排,音乐老师要请其中的$\left ( N-K\right )$位同学出列,使得剩下的$K$位同学排成合唱队形. 合唱队形是指这样的一种队形:设$K$位同学从左到右依次编号 ...

  6. 二、Linux基本防护措施

    修改账户有效期 chage命令的语法格式: chage –l    账户名称                                //查看账户信息 chage –E 时间 账户名称      ...

  7. [Docker核心之容器、数据库文件的导入导出、容器镜像的导入导出]

    [Docker核心之容器.数据库文件的导入导出] 使用 Docker 容器 在 Docker 中,真正对外提供服务的还是容器,容器是对外提供服务的实例,容器的本质是进程. 运行一个容器 docker ...

  8. Spring Cloud Data Flow整合UAA之使用LDAP进行账号管理

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 Spring Cloud Data Flow整合UAA的文章已经写了两篇,之前的方案是把用户信息保存在数据库中: ...

  9. DOS命令行(3)——Windows运行窗口打开特定功能

    cmd 开启命令解释权或启用Windows中的某程序 cmd /c 执行完命令后关闭命令窗口 cmd /k 执行完命令后不关闭命令窗口   winver 查看Windows版本信息版权信息授权信息   ...

  10. 08-ADMM算法

    08-ADMM算法 目录 一.ADMM 算法动机 二.对偶问题 三.对偶上升法 四.对偶分割 五.乘子法(增广拉格朗日函数) 5.1 步长为 $\rho$ 的好处 六.ADMM算法 6.1 ADMM ...