earclimate 最近小试了下linux(ubuntu),刚刚把R和Rstudio-server装起来,准备把自己在windows下的安装包以及自己编译包安装起来,遇到两个疑问: 1.windows下直接把library下的安装软件拷在另一台电脑就可以直接使用,把windows下的包拷在linux下不经编译能否使用? 2.自己编译的包生成tar后在linux下安装,有些成功,有些失败了,提示信息是:Error in parse(outFile) : invalid multibyte character in parser at line 8,查了下,大概是因为編码或特殊字符,但是tar中有很多文件,如何知道是哪个文件中的第8行出了问题?
tctcab windows跟linux的换行符不一样,所以直接copy整个包的话很容易出问题。 建议用devtools进行包的开发,可以大大简化开发流程,并将包传至github,git可以完成跨平台的换行符转换或者编码问题。
earclimate Cloud2016 谢谢! 自己编译的包有十来个,是采用package.skeleton和system("R CMD build --binary mypackage")写成的脚本实现的,三天两头更新,windows下还是挺方便的。包里封装了许多业务数据,不便于放到git上,而且RData文件累计也有几个G吧,不便上传。关于tar中编码出错不知道能不能给个建议如何排查是哪个文件?
Cloud2016 earclimate R 包不是应该仅仅是函数和功能的集合吗?数据也是为了测试函数是否正确而已,干嘛把那么多的数据都放在包里面?还有开发 R 包不是都按照 <http://r-pkgs.had.co.nz> 来的么,里面就不建议 package.skeleton 来初始化 R 包的框架。至于编码问题,invalid multibyte character in parser at line 8 大多是中文字符搞的鬼,字符不知道是来自包还是来自数据,注意转化。
earclimate Cloud2016 您的方式才是正统? 。想当初入门的时候不知道看的什么教程,就把包建起来了,前后五六年了吧,那些脚本一直管用,had大神的专著是近两年才出的吧,看到就买了,可是知错未改?,看来需要再翻出来看看,经典就是经典? ps:关于包里封装数据,我的业务场景里确实需要,比如空间数据、快速地提取历史数据,包括一些二次统计量,从数据库拉取要慢一些,再说也不能搬个数据库到处安装吧。。。