前一段时间,您曾经能够rcom在R中安装软件包以使用COM脚本(例如,访问外部程序.)不幸的是,它似乎已经停止:
包'rcom'已从CRAN存储库中删除.
可以从存档中获取以前可用的版本.
这取决于statconnDCOM,它现在限制使用,与具有FOSS许可证的包的CRAN策略相反.请访问 http://rcom.univie.ac.at/和http://www.statconn.com/.
在存档和statconn链接之后并在R版本3中安装一个旧版本会出现错误:
"错误:包'rcom'是在R 3.0.0之前构建的:请重新安装它".
我对R不太熟悉,但似乎无法绕过这条消息 - 毕竟,安装时会发生这种情况,所以重新安装似乎不是答案.看起来似乎rcom根本不适用于最近的(3.0+)版本的R.我也扫描了包列表,虽然搜索"COM"返回了一百多个结果,但是当我点击时可能错过了正确的一个他们.
我如何使用该rcom软件包,或者从R内部以其他方式使用COM?
(注意:我代表一位同事问这个问题.我根本没有R自己的经验.我们两个人在寻找答案时都找不到任何东西.我相信其他人最近也在使用COM.但是版本的R!)
小智 7
几个月前我查看了rcom源代码.看来我可以在R3.0.1上构建并安装OK.如果它有帮助,以下是程序.
install.packages('rscproxy')转到包含'rcom'文件夹的文件夹,并在命令提示符处:
set R="c:\Program Files\R\R-3.0.1\bin\i386\R.exe"
%R% CMD check --no-manual rcom
Run Code Online (Sandbox Code Playgroud)检查通过没有太多的投诉.您对--no-manual选项的调用(如果安装了MiKTeX,可以将其删除)
%R% CMD INSTALL rcom
Run Code Online (Sandbox Code Playgroud)应该导致
installing to c:/Rlib/rcom/libs/i386
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
rcom requires a current version of statconnDCOM installed.
To install statconnDCOM type
installstatconnDCOM()
This will download and install the current version of statconnDCOM
You will need a working Internet connection
because installation needs to download a file.
* DONE (rcom)
Run Code Online (Sandbox Code Playgroud)
在R:
library(rcom)
installstatconnDCOM()
Run Code Online (Sandbox Code Playgroud)我尝试过comRegisterRegistry() ; comRegisterServer()
; x<-comGetObject("Excel.Application")但是我得到了一个NULL x.我不是rcom的用户,所以虽然它似乎编译得很好; 它可能不再起作用了.
如果你碰巧需要访问.NET代码,那么一个可行的选择(是的,我有提到它的既得利益)可能是rClr包.
希望这可以帮助; 我很想知道你怎么走.
这真的应该是一个评论,但我还没有足够的代表留下一个.我发现上面的步骤对我来说不起作用,但是Lisa Ann在这个问题上发布的答案,RExcel在R 3.0.x中确实解决了我安装rcom的问题.由于您需要rcom来运行RExcel,因此安装RExcel的初始步骤包括在较新版本的R(例如3.0.2)上安装rcom.
具体来说,遵循有关statconn维基的建议,http: //homepage.univie.ac.at/erich.neuwirth/php/rcomwiki/doku.php?id = wiki : way_to_install
如果升级R,则还需要按照这些说明进行操作,即在安装RExcel后安装新的R版本.
下载statconn DCOM服务器并执行您下载的程序以管理员身份启动R(在Windows 7上,您需要右键单击R图标并单击>相应项目)在R中,运行以下命令(必须以管理员身份启动R做这个)
install.packages(C( "rscproxy", "RCOM"),回购= "http://rcom.univie.ac.at/download",LIB = .Library)
库(RCOM)
comRegisterRegistry()
现在你已经安装了rcom,[安装RExcel的说明如下......]
| 归档时间: |
|
| 查看次数: |
3070 次 |
| 最近记录: |