用source函数代替繁冗的R语言打包过程

经过初级的学习和使用R语言之后我们渐渐的开始动手写自己的R语言小程序,这些小程序因为和自己的工作非常契合而变得通用性不是那么强。因此,要让它们成为一个独立的软件包而被杂志接受或者让更多的人使用似乎欠缺点火后。但是却在我们的日常工作经常要使用到这些函数代码。如果每次都通过“复制”、“粘贴”的手段来“预装”这些函数总不是很方便。

有同行选择把这些函数打成包(参考在科学网博文《windows中创建R程序包简明指南》

http://blog.sciencenet.cn/blog-255662-247614.html

但是,你如果试着去打包的话,你会发现有很多繁冗的问题总是让你的目标难以实现,诸如辅助软件的下载和安装,系统路径的设置……当然其实最让人头疼是打包之前要对一些帮助性文件进行手工修改,随着R工具及相应的辅助软件的升级,你会发现许多网上的打包博文多多少少有些“过时“。

其实,你如果不是要把你的代码函数打包单独发表文章的话,真的没有必要将它们打包。除了上述缺点之外,每次你对代码修改都要重新打包一次。

这里我们推荐你使用R本身自带的source() 函数

例如我们写下下面的函数

matchar  <- function(name) {

name = unlist(name)

name = as.character(name)

return(name)

}

将它保存为matchar.r

如果他的保存路径为C:\pa

那么下次调用这个函数时,不必重新定义

只要

path="C:/pa" #声明matchar.r所在位置

setwd(path)  #把工作路径设置到path

source('matchar.r')  #“预装“函数

这时候如果你输入matchar

R工作台就成显示matchar函数的代码,说明预装成功,可以使用了。

原文链接: http://blog.sciencenet.cn/blog-508298-647914.html

用source函数代替繁冗的R语言打包过程的更多相关文章

  1. R语言使用过程中出现的问题--attach()函数的使用

    使用attach(file)时,一定要配合使用detach(file),否则再此运行程序时极易出现问题,The following objects are masked ... 此外工作空间中不能有与 ...

  2. R语言使用过程中出现的问题--读取EXCEL文件

    方法一: 按照R导论中的方法,使用RODBC包, library(RODBC) channel<-odbcConnectExcel("file.xlsx") da2<- ...

  3. R语言 三个函数sort();rank();order()

    R语言入门,弄懂了几个简单的函数,分享一下:R语言排序有几个基本函数: sort():rank():order()sort()是对向量进行从小到大的排序rank()返回的是对向量中每个数值对应的秩or ...

  4. R语言函数

    函数是一个组织在一起的一组以执行特定任务的语句.R语言有大量的内置函数,用户也可以创建自己的函数. 在R语言中的函数是一个对象,所以R语言解释器为能够通过控制到该函数,带有参数可能是函数必要完成的操作 ...

  5. R语言函数化学习笔记3

    R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class( ...

  6. R语言︱文件读入、读出一些方法罗列(批量xlsx文件、数据库、文本txt、文件夹)

    笔者寄语:小规模的读取数据的方法较为简单并且多样,但是,批量读取目前看到有以下几种方法:xlsx包.RODBC包.批量转化成csv后读入. R语言中还有一些其他较为普遍的读入,比如代码包,R文件,工作 ...

  7. R语言- 实验报告 - 利用R语言脚本与Java相互调用

    一. 实训内容 利用R语言对Java项目程序进行调用,本实验包括利用R语言对java的.java文件进行编译和执行输出. 在Java中调用R语言程序.本实验通过eclipse编写Java程序的方式,调 ...

  8. R语言利器之ddply和aggregate

    ddply和aggregate是两个用来整合数据的功能强大的函数. aggregate(x, ...) 关于aggregate()函数的使用在<R语言实战>中P105有简单描述,这里重新说 ...

  9. 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)

    数据分布图简介 中医上讲看病四诊法为:望闻问切.而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样:闻:仔细分析数据是否合理:问:针对前两步工作搜集到的问题与业务方交流:切:结合业务方 ...

随机推荐

  1. Android百日程序 开篇章:Intent打开网页

    学习一下人家100日写100个网页的做法,我也用100日写100个完整的Android程序. 这些程序的最基本要求: 1 完整性-每一个程序都必须是独立可执行的 2 不反复性-所用的重点知识点都不一样 ...

  2. 真机提示Undefinedsymbolsforarchitecturearm64

    转自:http://www.haodaima.net/art/2830860 iOS程序模拟器手机运行都正常,archiving出错:Undefined symbols for architectur ...

  3. Replace 在动态sql中的实现

    set @stsqlReplace=' update ChgCfm set cfmdate=replace(cfmdate,'''''''',''''), cfmstatu=replace(cfmst ...

  4. ISO27001适用性-导图

    大图请戳这里

  5. 如何使用ILSpy 把发布版本反编译成源码

    有时候,看法别人写的代码比较好,想看看他们的代码到底是如何写的,于是就找方法,看看能否把发布版本变成源码.后来终于发现一个词“反编译”,我终于知道怎么办了. 工具:ILSpy   百度下载一个,该工具 ...

  6. (原创)c++11改进我们的模式之改进访问者模式

    本次讲c++11改进我们的模式之改进访问者模式 访问者模式是GOF23个设计模式中比较复杂的模式之一,但是它的功能也很强大,非常适合稳定的继承层次中对象的访问,可以在不修改被访问对象的情况下,动态添加 ...

  7. Beginning SDL 2.0(2) TwinklebearDev SDL 2.0 Tutorial

    本文整理并简要介绍了TwinklebearDev SDL 2.0 Tutorial相关内容(以下简称TDSDLTutorial). 这是作为我学习并了解SDL2.0功能一篇学习总结. TDSDLTut ...

  8. Python提取MD5

    使用Python的hashlib模块提取MD5,网上参考,觉得这个还不错,可以作为模块直接使用. # -*- coding: utf-8 -*- import hashlib import sys i ...

  9. idea 提示忽略大小写

  10. java中的不同的value类型从map中获取不同的value值

    protected <V> V getValFromMap(Map<String, Object> headers, String name, Class<V> t ...