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. 开发平台支持Arm Cortex-M的微控制器上人工智能训练

    开发平台支持Arm Cortex-M的微控制器上人工智能训练 Development platform enables AI training on Arm Cortex-M-based microc ...

  2. git stash的常用操作

    列出stash的:      git stash list移除stash:         git stash drop stash@{0}查看stash:         git stash sho ...

  3. IDEA骚技巧

    1. var 声明 2. null 判空 3. notnull 判非空 4. nn 判非空 5. for 遍历 6. fori 带索引的遍历 7. not 取反 8. if 条件判断 9. cast ...

  4. Netty 框架学习 —— 传输

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

  5. SpringBoot代码与jar包分离部署

    第一步,打出带有jar包的SpringBoot工程 首先配置pom.xml文件 <build> <finalName>demo</finalName> <pl ...

  6. lsnrctl start 报错

    lsnrctl start报错: TNS-12541:TNS:no listener TNS-12560:TNS:protocol adapter error TNS-00511:No listene ...

  7. C#中怎样使控件随着窗体一起变化大小

    此文原作者为CSDN的 zhouwen5288,原文链接  http://blog.csdn.net/zhouwen5288/article/details/6493835 本人仅作为随笔备忘,转载请 ...

  8. 复习Spring第三课--数据源配置的多种方式

    spring数据源配置可以说分为:spring容器自带连接池.项目中创建连接池.服务器创建连接池三种 一.spring容器自带连接池   Spring本身也提供了一个简单的数据源实现类DriverMa ...

  9. 进程与线程 .Net Core系列-多线程

    进程与线程 进程: 狭义定义:进程是正在运行的程序的实例 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分 ...

  10. 六QT使用mqtt

    QT官方的mqtt是qmqtt,头文件是 #include <qmqttclient.h> 官方的文档地址 https://doc.qt.io/QtMQTT/qmqttclient.htm ...