VS中使用QT调用R脚本
一开始想直接把R编译成库然后调用R,后来查了n多资料,发现VS中是无法办到的,官方也给出了一句话,大概意思就是没可能在VS中使用R提供的C++接口,大概是涉及到了底层的ABI的原因,具体也不太清楚。
于是就想到了直接采用新建文件然后写成.R脚本的方式来调用R,这种使用方式必须安装R,然后从程序内部调用RScript.exe以及相应脚本。
QFile Rfile("C:\\temp\\RScript\\heatmap.R");
Rfile.open(QIODevice::WriteOnly);
QTextStream RfileWrite(&Rfile);
RfileWrite << "library(RColorBrewer)" << endl;
RfileWrite << "library(gplots)" << endl;
RfileWrite << "x = read.table(\"C:\\\\temp\\\\RData\\\\heatmap.dat\", header = TRUE, sep=\"\t\")" << endl;
RfileWrite << "mat = data.matrix(x)" << endl;
RfileWrite << "png(file = \"C:\\\\temp\\\\RPic\\\\heatmap.png\", bg = \"transparent\")" << endl;
RfileWrite << "heatmap.2(mat, Rowv = TRUE, Colv = TRUE, distfun = dist,hclustfun = hclust,\
xlab = \"X data\", ylab = \"Y data\",\
key = TRUE,\
keysize = ,\
trace = \"none\",\
density.info = c(\"none\"),\
margins = c(, ),\
col = brewer.pal(, \"PiYG\")\
)"<<endl;
RfileWrite << "dev.off()" << endl;
Rfile.flush();
Rfile.close();
//system("C:\\\"program files\"\\R\\R-3.1.2\\bin\\RScript D:\\drawtest.R");
//system("RScript D:\\drawtest.R");
ShellExecuteA(NULL, "open", "RScript.exe", "C:\\temp\\RScript\\heatmap.R", NULL, SW_HIDE);
VS中使用QT调用R脚本的更多相关文章
- Windows环境下 PHP调用R脚本
写在前面的: 由于是windows平台实现的,只要保证脚本命令能在cmd控制台运行,则可以在php中利用system()实现. 注意事项: (1).保证system的路径中无汉字和空格 !! (亲身 ...
- JAVA调用R脚本
0 前言R是一种非常方便易用的绘图.统计分析.ML算法设计方面的脚本语言.实际中有这样一种场景:算法工程师用R搭建了机器学习算法模型,想用于javaweb之中但是又不想重新用java写一遍算法模型,那 ...
- JAVA调用R脚本 windwos路径下
RConnection c = new RConnection();// REXP x = c.eval("source('D:\\\\jiaoben\\\\RJava_test.R',en ...
- unity中三种调用其他脚本函数的方法
第一种,被调用脚本函数为static类型,调用时直接用 脚本名.函数名()第二种,GameObject.Find("脚本所在的物体的名字").SendMessage(" ...
- shell检测interface是否已分配ip,qt调用shell脚本
#include <QCoreApplication>#include <QDebug>#include <QTextStream>#include <QDi ...
- shell中调用R语言并传入参数的两种步骤
shell中调用R语言并传入参数的两种方法 第一种: Rscript myscript.R R脚本的输出 第二种: R CMD BATCH myscript.R # Check the output ...
- Java调用R(三)_系统命令调用
java通过配置的系统命令Rscript直接调用R脚本. 优点:R脚本和Java代码完全分离 缺点:R中变量不能控制 1. Java本地能够成功调用. public void CallR() { Ru ...
- c#调用R
R.NET使用文档 介绍 本页面涉及R.NET1.5.13. 1.5.13版本在功能上等同于1.5.12,但可作为一个包在NuGet.org上获得. R.NET使.NET框架与R统计语言在同一进程进行 ...
- 关于在C++中调用R函数以及RCpp使用
最近因为项目要用到,所以在想办法把R语言用到C++中. 网上查了看到有一个Rcpp的工具.所以在这里总结一下. 现在能想到的几种在C++中调用R语言的方法如下: 1. 使用Rcpp R高级编程技巧及R ...
随机推荐
- CentOS7安装Hadoop2.7完整流程
总体思路,准备主从服务器,配置主服务器可以无密码SSH登录从服务器,解压安装JDK,解压安装Hadoop,配置hdfs.mapreduce等主从关系. 1.环境,3台CentOS7,64位,Hadoo ...
- IDEA快速光标跳转
Ace Jump是一种从emacs上借鉴过来的快速光标跳转方式,操作方式是:你用某个快捷键进入Ace Jump模式后,再按任一个键,当前屏幕中所有该字符都被打上一个字母标记,你只要按这个字母,光标就会 ...
- Java NIO1
发现了一个很好的学习Java的外国网站,英语都是很简单的啦,看英语舒服些,关于NIO的系列就直接参照此网站了,而且是英语的! http://tutorials.jenkov.com/ Java NIO ...
- Servlet获取当前服务器的实际路径
Servlet/Jsp需要操作服务器所拥有的资源,为此需要得到其绝对路径或实际路径, 在Servlet的doGet方法中加入以下代码可以查看服务器的实际路径. package com.mhb; imp ...
- PCL—低层次视觉—点云分割(超体聚类)
1.超体聚类——一种来自图像的分割方法 超体(supervoxel)是一种集合,集合的元素是“体”.与体素滤波器中的体类似,其本质是一个个的小方块.与之前提到的所有分割手段不同,超体聚类的目的并不是分 ...
- 转ATL对象类型
http://hi.baidu.com/rural_child/item/d91ce5d8fba9c8e73cc2cbf9 1.Objects a.Simple Object:用于实现业务逻辑,无用户 ...
- 修改linux命令行提示符路径显示
命令显示行太长,影响观感,这样需要修改,具体方法: 1. 修改 ~/.bashrc,在最后一行添加: export PS1='[\u@\h\W]$' 其中\u是当前用户名,\h是当前主机名,\w显示当 ...
- 利用 img 和 script 发送跨域请求
利用img.src可以发送http请求,但是发送http请求不是img.src的真正用意. 同样,用script.src去请求jsonp格式的接口数据也不是script元素的最初设计用途. 但是这些歪 ...
- mapper device&lvm
http://www.ibm.com/developerworks/cn/linux/l-devmapper/ http://baike.baidu.com/view/361916.htm?fr=al ...
- Android viewPage notifyDataSetChanged无刷新
转载 http://www.67tgb.com/?p=624 最近项目结束,搞了一次代码分享.其中一位同学分享了一下自己在解决问题过程中的一些心得体会,感觉受益匪浅.整理出来,分享给大家. 建议使用自 ...