如何在JAVA中打印显示出R语言算法的结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在JAVA中打印显示出R语言算法的结果相关的知识,希望对你有一定的参考价值。
如题,如果我需要在JAVA上调用了apriori算法,算法代码如下:
library(arules)
#从rattle包中读入数据
dvdtrans <- read.csv(system.file("csv", "dvdtrans.csv",package="rattle"))
数据结构如下,ID表示购物篮编号,Item表示物品。
ID Item
1 1 Sixth Sense
2 1 LOTR1
3 1 Harry Potter1
4 1 Green Mile
5 1 LOTR2
6 2 Gladiator
#将数据转化为合适的格式
data <- as(split(dvdtrans$Item, dvdtrans$ID),"transactions")
#用 apriori命令生成频繁项集,设其支持度为0.5,置信度为0.8
rules <- apriori(data, parameter=list(support=0.5,confidence=0.8))
#用inspect命令提取规则
inspect(rules)
结果:
lhs rhs support confidence lift
1 Patriot => Gladiator 0.6 1.0000000 1.428571
2 Gladiator => Patriot 0.6 0.8571429 1.428571
3 Sixth Sense => Gladiator 0.5 0.8333333 1.190476
这说明购买爱国者电影的顾客同时也会购买角斗士 :-)
如果我需要在JAVA中讲inspect(rules)的结果打印出来,应该怎么做?
试过这样:
Vector vector = new Vector();
REXP a = re.eval("inspect(rules)");
vector.addElement(a);
System.out.println(vector);
打印出来的是null
直接System.out.println(re.eval("inspect(rules)"));也不行……
求各路大神指导!!小弟感激不尽!
实在不行试试weka。
利用队列打印出n行杨辉三角形.用C语言
参考技术A其实根据原理来就可以了,程序在附件中,运行结果如下:
#define HANG 10
#define MAX 100
#define X(a) (a++)%MAX
int main()
int queue[MAX];
int r=0,l=0,n,m,i,j;
queue[X(r)]=0;
queue[X(r)]=1;
m=queue[X(l)];
for(i=0;i<HANG;i++)
queue[X(r)]=0;
for(j=0;j<i+2;j++)
n=m;
m=queue[X(l)];
queue[X(r)]=m+n;
if(n!=0)
printf("%d ",n);
printf("\n");
return 0;
追问
是那种输入n行然后打印的,这个是我们数据结构的题目
追答#include
#define MAX 100
#define X(a) (a++)%MAX
int main()
int queue[MAX];
int r=0,l=0,n,m,i,j,h;
printf("输入杨辉三角的行数:");
scanf("%d",&h);
queue[X(r)]=0;
queue[X(r)]=1;
m=queue[X(l)];
for(i=0;i<h;i++)
queue[X(r)]=0;
for(j=0;j<i+2;j++)
n=m;
m=queue[X(l)];
queue[X(r)]=m+n;
if(n!=0)
printf("%d ",n);
printf("\n");
return 0;
以上是关于如何在JAVA中打印显示出R语言算法的结果的主要内容,如果未能解决你的问题,请参考以下文章