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. Redis系列(三):Bitmaps和HyperLogLog

    本篇介绍Bitmaps和HyperLogLog. 一.Bitmaps 计算机中最小的单位是bit(位),很多计算机语言也提供了位操作符,比如Java中就有&.|.>>.>&g ...

  2. 工作流中容器化的依赖注入!Activiti集成CDI实现工作流的可配置型和可扩展型

    Activiti工作流集成CDI简介 activiti-cdi模块提供activiti的可配置型和cdi扩展 activiti-cdi的特性: 支持 @BusinessProcessScoped be ...

  3. Netty 框架学习 —— 传输

    概述 流经网络的数据总是具有相同的类型:字节,这些字节如何传输主要取决于我们所说的网络传输.用户并不关心传输的细节,只在乎字节是否被可靠地发送和接收 如果使用 Java 网络编程,你会发现,某些时候当 ...

  4. 工作流引擎Activiti使用进阶!详细解析工作流框架中高级功能的使用示例

    Activiti高级功能简介 Activit的高级用例,会超越BPMN 2.0流程的范畴,使用Activiti高级功能需要有Activiti开发的明确目标和足够的Activiti开发经验 监听流程解析 ...

  5. P5960 【模板】差分约束算法

    题目描述 给出一组包含 $m$ 个不等式,有 $n$ 个未知数的形如: 的不等式组,求任意一组满足这个不等式组的解. 输入格式 第一行为两个正整数 $n,m$,代表未知数的数量和不等式的数量. 接下来 ...

  6. Open C

    Open C UF  公共类型UF_ABORT   进度中断UF_ASSEMUF_ATTRUF_BOUNDUF_BREPUF_CAMUF_CFIUF_CGMUF_CLEARUF_CLONE      ...

  7. 【NX二次开发】根据视图名称旋转视图,在布局中替换视图uc6464

    uc6464("布局名","旧视图名","新视图名");输入布局名.旧视图名.新视图名.如果布局名为空则更新当前布局.如果旧视图名为空,则工 ...

  8. Qt实现基于多线程的文件传输(服务端,客户端)

    1. 效果 先看看效果图 这是传输文件完成的界面 客户端 服务端 2. 知识准备 其实文件传输和聊天室十分相似,只不过一个传输的是文字,一个传输的是文件,而这方面的知识,我已经在前面的博客写过了,不了 ...

  9. SpringAnimator弹簧联动效果的实现

    使用SpringAnimation实现弹簧联动 简介 弹簧效果动画SpringAnimation与甩动效果动画FlingAnimation使用上很类似,主要区别在于FlingAnimation是根据甩 ...

  10. Linux-远程服务ssh

    1.远程管理服务介绍 (1)SSH是(Secure Shell Protocol)的简写,由IETF网络工作小组制定:在进行数据传输之前,SSH先对联机数据包通过加密技术进行机密处理,加密后在进行文件 ...