[R]R语言的module工程化
很遗憾,这还是一个挖坑的问题,解决方案并不是很确定。
需求是,大多数的语言都提供import包或module的功能,避免全部代码写到一个文件中,方便管理与维护。
如常用的database模块,每次写R脚本都需要声明一次数据库连接的话,不仅安全性差,账户密码到处散落,而且修改起来也十分麻烦。
然而很有意思的是,你根本搜不到这方面的内容,似乎没人用R这么做。一般的library或require包并不适用于自己写的脚本模块,而且介绍将R脚本打包的资料我也没有找到。
Hadly Wickham 的Advanced R也没有提及相关内容。
几年前看Rob J Hydman的一篇文章,介绍R的workflow,推荐将一个项目分解为load.R, function.R, do.R等几个文件。其中文件与文件的调用是通过source去载入。
可能是习惯了其他语言的module或包机制,从个人感觉上,使用source多少有些膈应。虽然你看linux上也是通过source文件使配置生效,但感觉不是很直观。
所以,R有没有import module这样的包机制及工程化指导?隐隐感觉source好像就是其解决方案。
[R]R语言的module工程化的更多相关文章
- (转)\r \r\n \t 的区别
小风吹雪 \r \r\n \t 的区别 http://www.360doc.com/content/12/0530/15/16538_214756101.shtml \n 软回车: 在Wi ...
- 把十进制整数转换为r(r=2)进制输出(顺序栈实现)
上周的第二个作业补上~~ 上周的要求: 1.给出顺序栈的存储结构定义. 2.完成顺序栈的基本操作函数. 1) 初始化顺序栈 2) 实现入栈和出栈操作 3) 实现取栈顶元素 ...
- python文件操作各种模式和常用方法总结r r+ rb r+b
1.读,r r+ rb r+b read() 全部读取 read(n) 读取一部分 r模式下:n 个字符. rb模式下:n个 字节. readline() 按行读取. readlines() 返回个列 ...
- (二十八)fopen与读写的标识r,r+,rb+,rt+,w+.....
fopen与读写的标识r,r+,rb+,rt+,w+..... 函数简介 函数功能: 打开一个文件 函数原型:FILE * fopen(const char * path,const char * m ...
- python-基础r/R、b、u/U含义
1.r/R,代表非转义的原始字符串,一般使用在正则表达式和win目录上 2.b“” 代表b后面的内容为bytes类型 3.u/U 表示对字符串进行unicode编码,一般使用在有中午的地方,防止乱码.
- 文件操作:w,w+,r,r+,a,wb,rb
1.文件操作是什么? 操作文件: f = open("文件路径",mode="模式",encoding="编码") open() # 调用操 ...
- [R]R语言中的%>%和%.%
最近在网上看R的代码,常常看到 x %>% y 的写法. 样子看着像是pipe的用法,搜了一下, 没找到语法的相关说明. 今天突然开窍,想着 %>% 可能不是语言本身支持的语法,可能是某个 ...
- [R]R语言里的异常处理与错误控制
之前一直只是在写小程序脚本工具,几乎不会对异常和错误进行控制和处理. 随着脚本结构和逻辑更复杂,脚本输出结果的准确性验证困难,同时已发布脚本的维护也变得困难.所以也开始考虑引入异常处理和测试工具的事情 ...
- [R] R语言for循环机制
在做数据分段截取的时候,发现for循环的表现和其他语言不太一样. 上代码: :) { i = i + print(i) } 结果: [] [] [] [] 即作为循环计次的i, 并不会因为在循环体中的 ...
随机推荐
- Thunk
Thunk https://en.wikipedia.org/wiki/Thunk In computer programming, a thunk is a subroutine used to i ...
- clickhouse修改时区
clickhouse时区设置 sudo vim /etc/clickhouse-server/config.xml <timezone>Asia/Shanghai</timezone ...
- GBDT原理及利用GBDT构造新的特征-Python实现
1. 背景 1.1 Gradient Boosting Gradient Boosting是一种Boosting的方法,它主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向.损失函数是 ...
- JQuery基本知识、选择器、事件、DOM操作、动画
- Java IO与网络编程笔记
<!doctype html>Java IO&NIO figure:first-child { margin-top: -20px; } #write ol, #write ul ...
- Centos环境下安装mongoDB
安装前注意: 此教程是通过yum安装的.仅限64位centos系统 安装步骤: 1.创建仓库文件: vi /etc/yum.repos.d/mongodb-org-3.4.repo 然后复制下面配置, ...
- C#decimal四舍五入格式化
Console.WriteLine(string.Format("{0:####}", 594884.539)); Console.WriteLine(string.Format( ...
- django QuerySet
Django对数据库的封装1——QuerySet 发布时间:2018-02-28 来源:网络 上传者:用户 关键字: manager 数据库 记录 影响 发表文章 摘要: Django对数据库的操 ...
- Docker-----常见问题
docker中删除dead状态的容器 其现象如下:docker ps -a docker rm ytn删除时报错如下:解决方法: 先查出其进程,kill掉,在进行删除 查 ,复制上图白底部分,用以下命 ...
- pythonのdjango Form简单应用。
Form表单有两种应用场景: 1.生成HTML标签. 2.验证输入内容. 如果我们在django程序中使用form时,需要在views中导入form模块 from django import form ...