有人能指出我开发JGR可靠R应用程序的良好开端吗? 粗略地说,我想做一些像Deducer (btw now available with ggplot2!!)那样通过一些选项来增强JGR菜单的东西(当然我想用更简单的方式来做)。 基本上,该应用程序是一个GUI,用于呈现使用Sweave .Rnw作为某种“模板语言”但有一些经常更改的文本的定期报告。
所以......
1)将它连接到R / JGR是否合理?或者我应该创建一些独立的Java程序或Python脚本来完成这项工作......?
2)哪个部分应该用Java编写,哪个用R编写?我检查了Deducer的源代码并找到了相当多的JAVA ...你会推荐在JAVA中使用哪些部分?
3)你能指点我的其他软件包,并且比使用JGR的Deducer简单,所以希望我可以从他们的代码中学到东西吗?
4)是否有另一种方法可以将某些菜单添加到标准R GUI中,该菜单适用于“所有”操作系统(Linux,Windows,Mac OS X)?
对于任何建议,指针以及不要做的事情,我们都会大喊大叫!
答案 0 :(得分:2)
对于4的回答,可以使用gWidgetsWWW创建交互式网页来收集用户输入。它可以在使用RApache的服务器上运行,也可以使用R的帮助页面Web服务器独立运行。这是一个示例网页。 (要独立运行,请将其保存在某处,比如/tmp/test.R,并使用localServerStart加载(“/ tmp / test.R”)
runSweave <- function(...) {
## replace with real deal
## point is l holds values:
values <- sapply(l, svalue, simplify=FALSE)
gmessage(message=sprintf("Run sweave using inputs %s and %s", values$one,values$two), parent=w)
}
runAbout <- function(...) {
gmessage("A simple GUI for running a report", parent=w)
}
w <- gwindow("Write a report")
l <- list()
actions <- list(run=gaction(label="run", handler=runSweave, parent=w),
about=gaction(label="about", handler=runAbout, parent=w))
gmenu(actions, cont=w)
g <- ggroup(cont=w, horizontal=FALSE)
ghtml(boilerplate <- paste("Lorem ipsum dolor sit amet, consectetur adipisicing elit,",
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"Ut enim ad minim",
sep="</br>"),
cont=g)
l$one <- gedit("Enter text here", cont=g)
ghtml(boilerplate, cont=g)
l$two <- gedit("Enter more text here", cont=g)
gstatusbar("thats it...", cont=g)
visible(w) <- TRUE
答案 1 :(得分:1)
好的,我要回答1 st 和4 th :
广告1.恕我直言,为Sweave创建GUI并不“合理”......如果我正在撰写报告,我想做类似的事情:
There were gathered \Sexpr{length(na.omit(x))} valid responses,
with mean of \Sexpr{mean(x, na.rm = TRUE)} and
standard deviation \Sexpr{sd(x, na.rm = TRUE)}.
<<qqplot, echo = FALSE, fig = TRUE>>==
qqplot(x)
qqnorm(x)
@
LyX已经这样做了(虽然我将Emacs与ESS和AUCTeX一起使用)。我的意思是,你可以编写一个JAVA GUI并提供一些功能...但如果你想引起注意,你必须炫目,否则,你注定要发明已经发明的东西。但是你可以贡献......只是......没有充分的理由不要从头开始。
广告4.是的,有:RApache和/或RServe。您可以将R与一些漂亮的JS库(如ExtJS)混搭,并在Jeroen Ooms / ggplot2 / stockplot / {中执行lme4之类的操作{3}}申请。 brew
包非常有用。有一些缺点:你需要服务器访问,客户端的Internet访问,但它是跨平台的,服务器是机器的野兽,所以想象一下在台式机上压缩一些大数据是什么样的...服务器/云可以在眨眼时间做。
因为我不知道如何在JAVA,HTML / CSS / JavaScript / PHP / MySQL /等中编写单个血腥的东西。 R是我的首选武器。
所以......
祝你好运!