谢兄,“自R 2.14.0开始,命名空间是R包的强制组成部分,所有的包必须有命名空间,如果没有的话,R会自动创建。” 难道到了3.0.1之后又不自动创建了?
我打算编译qxde01同学的Rdouban包,https://github.com/qxde01/Rdouban
结果出现了ERROR: a 'NAMESPACE' file is required
参考了下这篇http://stackoverflow.com/questions/17196225/error-a-namespace-file-is-required
是说3.0.1之后又不自动创建了?= =
[未知用户] 本文是2011年文章,有一些操作已经变了。

你可以看看R包开发新的方法,也许可以帮到你:
http://blog.fens.me/r-build-package/
http://blog.fens.me/r-package-faster/
[未知用户] qxde01同学并没有按照我说的用roxygen2写文档,否则这个NAMESPACE文件是会被roxygen2自动创建的。我看他的包已经很久没有更新了,恐怕现在在R 3.0.1下还需要作一些调整才能安装。
[未知用户] 嗯,非常感谢~
[未知用户] 看来还是要从头做个R包才会有体会呢,谢谢!
2 年 后
[未知用户] 可以看看 http://adv-r.had.co.nz/C-interface.html 不过个人觉得还是Rcpp更人性化一点 http://adv-r.had.co.nz/Rcpp.html
6 个月 后
请问下,R目录下没有发现zzz.R文件是什么问题呢?而且我在R安装包成功,但是包中调用Fortran的语句却不能执行
7 个月 后
请问在创建R package时如何,如何实现自动安装依赖的包。试了Depends和Imports,安装了自建的包后,library(),可以将依赖的包加载进来。但是别人没按依赖的包时,安装我创建的包,怎样实现自动安装依赖的包?
7 个月 后
[未知用户] R包英雄榜!请问这个排名是怎么得到的?这列出来都是第一作者?
2 年 后

yihui 虽然我接触R不久,但关于R的这些“精巧”之处,我个人有些不同的体会……命名空间作为一种管理软件结构的方式,也算是一个相当古老的概念了,例如C++可以很轻松地声明命名空间,Python里则是一个文件就可以作为一个命名空间,还可以很方便地指定别名。许多以面向对象作为主要设计方向的语言都有类似的设计。但在R之中,命名空间给人的感觉却相当死板,必须是打成包才能使用这个特性。作为一个“随手即用”的语言,多数用户自己写的“R应用”大概还是使用 source("<path>") 之类的方式组织起来的,没有必要对每一层抽象单独打包,但这时候命名空间这个特性就无法发挥作用,而且命名空间及其下属函数的指定方式也显得繁琐。除此之外,R中还有诸多的古怪之处,包括R中繁冗的面向对象的语法、library函数中变量不加引号,各种古怪的函数变量等等,其形式都是相当晦涩难懂。综合起来给人的印象就是这不是一个设计非常良好的语言,而是将各种特性胡乱拼凑而成的弗兰肯斯坦,说起来功能很强大,但实际学习和使用起来却让人非常糟心……

当然我不是专业统计人士,接触R的时间也比较短,如果有什么错误还请海涵及指正……

    ukyoi library函数中变量不加引号,这是近年来某个版本之后的新特性,我觉得完全不合逻辑,真不知道他们是怎么想的。

    yang.xiang "他说放在CRAN上太麻烦",自从提交了几个包到 CRAN 之后,我终于明白他说的是啥意思了……

    不如来个科幻征文活动:R 语言消亡的前夜。

      ukyoi 你的批评都很中肯啊。我这篇文章是八年前写的,当时的我也是菜鸟一枚,见笑见笑!

      R 一定程度上也可以用文件作为一个“命名空间”:sys.source() 可以指定环境,比如

      bar = new.env()
      sys.source('foo.R', bar)

      然后就可以 bar$对象 调用 foo.R 里创建的对象了。

      dapengde library() 里不加引号这个糟糕的决定基本上是 R 诞生之初就有了,不是近年来的特性: https://yihui.name/cn/2012/09/equal-and-arrow/

        yihui 咦,那就是我的错觉了,因为是后来几年才看见别人写的不加引号的代码,结结实实吃了一惊。

        1 年 后

        yihui 竟被阁下回复了,荣幸之至啊(然而已经过去10个月了才看到)。
        非常感谢阁下的建议,我打算彻底皈依 new.env() ,深深为以前没关注过这样一个功能感到懊悔……