在VBA宏中嵌入R进程

时间:2010-09-16 20:03:15

标签: vba r embed

标题 - 有没有办法从excel宏调用r进程?

3 个答案:

答案 0 :(得分:11)

我对r进程不熟悉,但此链接似乎对您的问题有效。

http://www.unt.edu/rss/class/splus/UsingRWithinExcel.pdf

RExcel - 在Excel中使用R

概述

Excel插件RExcel.xla允许在Excel中使用R.该包还包含一些 Excel工作簿演示了在Excel中使用R的不同技术。 有两种类型的服务器,forground和background。后台服务器完全隐藏了 用户,与R的所有交互都必须在Excel中完成。前台服务器允许直接访问R GUI 在Excel中工作时的命令行。后台服务器安装有R(D)COM服务器, 后台服务器依赖于{R} -package rcom,它必须从CRAN安装>

用法

在Excel中使用R至少有三种不同的方法 Scratchpad模式 直接在Excel工作表中编写R代码并传输标量,矢量和矩阵变量 在R和Excel之间

微距模式

使用VBA和RExcel.xla提供的宏编写宏,将宏附加到菜单 项目或工具栏项目

工作表功能

R可以直接在工作表单元格中的函数中调用

Scratchpad模式

RExcel菜单包含以下项目:

R开始

启动与R的连接 如有必要,从Excel开始要访问的R进程 有关在启动时执行代码的详细信息,请参阅启动

部分

关闭R

当此过程运行时,R Start更改为Close R 运行代码 在Excel中选择包含有效R代码的范围(仅一列宽),然后选择此选项 菜单项执行选定的代码

获取

将R变量的值获取到活动的Excel单元格或范围中 可能的值是数字或字符串或数据帧的标量和矩阵。

将所选Excel范围的值放入R变量中。 可能的值是数字或字符串或数据帧的标量和矩阵。 如果要放置数据帧,则Excel范围的第一行必须包含该变量的名称 数据帧。 对于数据帧而言,只传输可见行和列中的数据,而隐藏的行和列则不会 转移。

复制代码

将所选范围的内容放在Windows剪贴板上,假设它是R代码,然后换行 VBA过程中的代码调用以使其可以包含在VBA宏中

答案 1 :(得分:10)

RExcel,Excel的免费加载项,可从R分发网络下载。 RExcel将整套R的统计和图形方法无缝集成到Excel中。

本书R Through Excel为那些刚刚从熟悉的Microsoft Excel开始的人提供了一个很好的条目。

答案 2 :(得分:0)

我也不熟悉R.但我发现这两个链接很有用:

Windows Component Services Integrating R and Excel on the COM Layer

High-Level Interface Between R and Excel

[]' S