1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
# Statistics Menu dialogs
# last modified 25 June 2010 by J. Fox
# Variances menu
twoVariancesFTest <- function(){
initializeDialog(title=gettextRcmdr("Two Variances F-Test"))
variablesFrame <- tkframe(top)
groupBox <- variableListBox(variablesFrame, TwoLevelFactors(), title=gettextRcmdr("Groups (pick one)"))
responseBox <- variableListBox(variablesFrame, Numeric(), title=gettextRcmdr("Response Variable (pick one)"))
onOK <- function(){
group <- getSelection(groupBox)
if (length(group) == 0) {
errorCondition(recall=twoVariancesFTest, message=gettextRcmdr("You must select a groups variable."))
return()
}
response <- getSelection(responseBox)
if (length(response) == 0) {
errorCondition(recall=twoVariancesFTest, message=gettextRcmdr("You must select a response variable."))
return()
}
alternative <- as.character(tclvalue(alternativeVariable))
level <- tclvalue(confidenceLevel)
closeDialog()
.activeDataSet <- ActiveDataSet()
doItAndPrint(paste("tapply(", .activeDataSet, "$", response, ", ",
.activeDataSet, "$", group, ", var, na.rm=TRUE)", sep=""))
doItAndPrint(paste("var.test(", response, " ~ ", group,
", alternative='", alternative, "', conf.level=", level,
", data=", .activeDataSet, ")", sep=""))
tkfocus(CommanderWindow())
tkdestroy(top)
}
OKCancelHelp(helpSubject="var.test")
radioButtons(name="alternative", buttons=c("twosided", "less", "greater"), values=c("two.sided", "less", "greater"),
labels=gettextRcmdr(c("Two-sided", "Difference < 0", "Difference > 0")), title=gettextRcmdr("Alternative Hypothesis"))
confidenceFrame <- tkframe(top)
confidenceLevel <- tclVar(".95")
confidenceField <- ttkentry(confidenceFrame, width="6", textvariable=confidenceLevel)
tkgrid(getFrame(groupBox), labelRcmdr(variablesFrame, text=" "), getFrame(responseBox), sticky="nw")
tkgrid(variablesFrame, sticky="w")
groupsLabel(groupsBox=groupBox)
tkgrid(labelRcmdr(confidenceFrame, text=gettextRcmdr("Confidence Level: "), fg="blue"), confidenceField, sticky="w")
tkgrid(alternativeFrame, sticky="w")
tkgrid(confidenceFrame, sticky="w")
tkgrid(buttonsFrame, sticky="w")
dialogSuffix(rows=5, columns=1)
}
BartlettTest <- function(){
initializeDialog(title=gettextRcmdr("Bartlett's Test"))
variableFrame <- tkframe(top)
groupBox <- variableListBox(variableFrame, Factors(), title=gettextRcmdr("Groups (pick one)"))
responseBox <- variableListBox(variableFrame, Numeric(), title=gettextRcmdr("Response Variable (pick one)"))
onOK <- function(){
group <- getSelection(groupBox)
if (length(group) == 0) {
errorCondition(recall=BartlettTest, message=gettextRcmdr("You must select a groups variable."))
return()
}
response <- getSelection(responseBox)
if (length(response) == 0) {
errorCondition(recall=BartlettTest, message=gettextRcmdr("You must select a response variable."))
return()
}
closeDialog()
.activeDataSet <- ActiveDataSet()
doItAndPrint(paste("tapply(", paste(.activeDataSet, "$", response, sep=""),
", ", paste(.activeDataSet, "$", group, sep=""), ", var, na.rm=TRUE)", sep=""))
doItAndPrint(paste("bartlett.test(", response, " ~ ", group, ", data=",
.activeDataSet, ")", sep=""))
tkfocus(CommanderWindow())
}
OKCancelHelp(helpSubject="bartlett.test")
tkgrid(getFrame(groupBox), labelRcmdr(variableFrame, text=" "), getFrame(responseBox), sticky="nw")
tkgrid(variableFrame, sticky="w")
tkgrid(buttonsFrame, sticky="w")
dialogSuffix(rows=2, columns=1)
}
LeveneTest <- function(){
require("car")
initializeDialog(title=gettextRcmdr("Levene's Test"))
variableFrame <- tkframe(top)
groupBox <- variableListBox(variableFrame, Factors(), title=gettextRcmdr("Groups (pick one)"))
responseBox <- variableListBox(variableFrame, Numeric(), title=gettextRcmdr("Response Variable (pick one)"))
radioButtons(name="center", buttons=c("median", "mean"),
labels=c(gettextRcmdr("median"), gettextRcmdr("mean")), title=gettextRcmdr("Center"))
onOK <- function(){
group <- getSelection(groupBox)
center <- as.character(tclvalue(centerVariable))
if (length(group) == 0) {
errorCondition(recall=LeveneTest, message=gettextRcmdr("You must select a groups variable."))
return()
}
response <- getSelection(responseBox)
if (length(response) == 0) {
errorCondition(recall=LeveneTest, message=gettextRcmdr("You must select a response variable."))
return()
}
closeDialog()
.activeDataSet <- ActiveDataSet()
doItAndPrint(paste("tapply(", paste(.activeDataSet, "$", response, sep=""),
", ", paste(.activeDataSet, "$", group, sep=""), ", var, na.rm=TRUE)", sep=""))
doItAndPrint(paste("leveneTest(", paste(.activeDataSet, "$", response, sep=""),
", ", paste(.activeDataSet, "$", group, sep=""), ", center=", center, ")", sep=""))
tkfocus(CommanderWindow())
}
OKCancelHelp(helpSubject="leveneTest")
tkgrid(getFrame(groupBox), labelRcmdr(variableFrame, text=" "), getFrame(responseBox), sticky="nw")
tkgrid(variableFrame, sticky="w")
tkgrid(centerFrame, sticky="nw")
tkgrid(buttonsFrame, sticky="w")
dialogSuffix(rows=3, columns=1)
}
|