我遇到了几个熟悉SPSS并且不愿涉足R的人,但可能会鼓励他们在GUI的帮助下这样做。是否有任何GUI提供功率计算支持?我搜索了大约15分钟,找不到任何东西告诉我他们可以。你碰巧知道吗?
答案 0 :(得分:2)
Red-R是R的可视化编程接口,旨在将R统计环境的强大功能带给普通研究人员或用户。该项目的目标是提供对R中大量软件包的访问,而无需任何编程专业知识。 Red-R框架使用数据流编程的概念,使数据成为关注的焦点,同时隐藏所有编程复杂性。在可视化编程中,功能工具(在Red-R中称为Widgets)在画布上链接在一起,以控制通过程序的数据流。该框架允许新手用户快速轻松地构建复杂的分析管道。
有几个视频在Red-R Documentation
上展示了该应用目前的一些功能包括:
一些高级功能:
这绝对是一项正在进行中的工作,但您可以在Red-R.org上查看该应用程序。
我们正在寻求改进可用性和扩展功能的任何反馈。我们很乐意与任何人合作以满足特定需求。
阿努普
答案 1 :(得分:1)
虽然它定位于数据挖掘任务,但您可以查看Rattle(请参阅相关的R Journal paper)。我不确定它是否支持功率计算,但它更多的是用户友好的GUI。
答案 2 :(得分:1)
不是我知道的,但是将功能添加到其中一些是相当容易的。例如,下面是Deducer(http://www.deducer.org/manual.html)的简单功效分析对话框,用于配对/单样本/双样本t检验。有关在Deducer中制作对话框的更多信息,请参阅http://www.deducer.org/pmwiki/pmwiki.php?n=Main.Development。
如果他们来自SPSS,他们会觉得与Deducer合作非常舒服。
dialog <- new(SimpleRDialog)
dialog$setSize(400L,600L)
dialog$setTitle("t-test power analysis")
#type of test
test<- new(ComboBoxWidget,"type of test",c("two.sample", "one.sample", "paired"))
test$setDefaultModel("two.sample")
addComponent(dialog, test,100,900,200, 100)
#Sample size
ss <- new(TextAreaWidget,"Sample size")
addComponent(dialog, ss,210,700,310, 300)
#sig
sig <- new(TextAreaWidget,"significance level")
sig$setDefaultModel("0.05")
addComponent(dialog, sig,320,700,420, 300)
#power
pow <- new(TextAreaWidget,"Power")
pow$setDefaultModel("0.80")
addComponent(dialog, pow,430,700,530, 300)
#effect size
eff <- new(TextAreaWidget,"Cohens D")
eff$setDefaultModel(".5")
addComponent(dialog, eff,540,700,640, 300)
#alternative
test<- new(ComboBoxWidget,"alternative",c("two.sided", "less","greater"))
test$setDefaultModel("two.sided")
addComponent(dialog, test,650,900,750, 100)
runDialog <- function(state){
#print(state)
cmd <- "require(pwr)\npwr.t.test("
if(state[['Sample size']] == "")
parameter <- "n=NULL"
else
parameter = paste("n=",state[['Sample size']],sep="")
cmd <- paste(cmd,parameter);
if(state[['significance level']] == "")
parameter <- ",sig.level=NULL"
else
parameter = paste(",sig.level=",state[['significance level']],sep="")
cmd <- paste(cmd,parameter);
if(state[['Power']] == "")
parameter <- ",power=NULL"
else
parameter = paste(",power=",state[['Power']],sep="")
cmd <- paste(cmd,parameter);
if(state[['Cohens D']] == "")
parameter <- ",d=NULL"
else
parameter = paste(",d=",state[['Cohens D']],sep="")
cmd <- paste(cmd,parameter);
parameter = paste(",alternative='",state[['alternative']],"'",sep="")
cmd <- paste(cmd,parameter);
parameter = paste(",type='",state[['type of test']],"')",sep="")
cmd <- paste(cmd,parameter);
execute(cmd)
}
dialog$setRunFunction(toJava(runDialog))
deducer.addMenu("Power")
deducer.addMenuItem("t-test power",,"dialog$run()","Power")
if(.windowsGUI){
winMenuAdd("Power")
winMenuAddItem("Power", "t-test", "deducer('t-test power')")
}else if(.jgr){
jgr.addMenu("Power")
jgr.addMenuItem("Power", "t-test", "deducer('t-test power')")
}
答案 3 :(得分:0)
Red-R在一个易于使用的GUI界面中包装了许多包。如果您正在寻找未包含的特定包裹,请发送电子邮件给开发者,他们很乐意在几天内添加它。