tags:

views:

109

answers:

4

I met with several people who are familiar 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?

+1  A: 

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.

Shane
A: 

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.

chrisamiller
+1  A: 

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

Anup Parikh
Yes, but can it do power calculations?
Farrel
Anup, I've wanted to try out Red-R but the installation requirements appear to substantial for me to try. It seems that I would have to downgrade to R 2.9.1, which is pretty old. Does it work on Mac OS X?
Ian Fellows
Farrel, We have not included the power calculation functionality. But you can post a request on our forum at http://www.red-r.org/forum/ and we'll try.
Anup Parikh
Ian, The installation includes a version of R 2.9.1 but should not interfere with your existing R environment.
Anup Parikh
A: 

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')")
}
Ian Fellows