开发者

Do any of the R GUI assist with power calculations / analysis?

I met with several people who are famili开发者_开发百科ar with SPSS and would be reluctant to wade into R but might be encouraged to do so from the comfort of a GUI. Do any of the GUIs provide support for power calculations? I searched around for about 15 minutes and could not find anything to tell me that they could. Do you happen to know?


Red-R is a visual programming interface for R designed to bring the power of the R statistical environment to the general researcher or user. The goal of this project is to provide access to the massive library of packages in R without any programming expertise. The Red-R framework uses concepts of dataflow programming to make data the center of attention while hiding all the programming complexity. In visual programming, functional tools (called Widgets in Red-R) are linked together on a canvas to control the flow of data through the program. This framework allows novice users to quickly and easily build complex analysis pipelines.

There are a couple of videos demonstrating the applcation at Red-R Documentation

Some of the current functionality includes:

  • Read/View Data
  • Merge/Intersect/Filter
  • Math/Apply
  • Plotting
  • Stats - Parametric
  • Stats - Non-Parametric

Some advanced functionality:

  • Bioconductor microarray analysis
  • Survival analysis
  • Spatial Stats
  • SQLite
  • ROCR – ROC Curves
  • Neural Nets
  • LME4

This is definitely a work in progress, but you can check out the application at Red-R.org.

We are looking for any feedback in improving the usability and expanding the functionality. We'd be happy to work with anyone for specific needs.

Anup


While it's targeting data mining tasks, you could have a look at Rattle (see the related R Journal paper). I'm not sure if it supports power calculations, but it is intended to be more of a user-friendly GUI.


Not that I'm aware of, but it is fairly easy to add the functionality to a number of them. For example, below is a simple power analysis dialog for Deducer ( http://www.deducer.org/manual.html ) for the paired/one-sample/two-sample t-test. For more on making dialogs in Deducer, see http://www.deducer.org/pmwiki/pmwiki.php?n=Main.Development .

If they are coming from SPSS they should feel very comfortable working with 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')")
}


Red-R wraps many packages in an easy to use GUI interface. If you're looking for a specific package that isn't included, email the devs and they'll be glad to add it, usually within a few days.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜