[rkward-cvs] rkward/rkward/plugins/20descriptive code.php, 1.6, 1.7 description.xml, 1.5, 1.6
Thomas Friedrichsmeier
tfry at users.sourceforge.net
Wed Aug 16 16:58:36 UTC 2006
Update of /cvsroot/rkward/rkward/rkward/plugins/20descriptive
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv2955
Modified Files:
code.php description.xml
Log Message:
Add some more options (length, sum, etc. by Stefan Roediger), slight modifications
Index: description.xml
===================================================================
RCS file: /cvsroot/rkward/rkward/rkward/plugins/20descriptive/description.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** description.xml 11 Sep 2005 22:06:31 -0000 1.5
--- description.xml 16 Aug 2006 16:58:34 -0000 1.6
***************
*** 1,23 ****
<!DOCTYPE rkplugin>
!
! <!-- This is a simple example, of how a "plugin" might be configured. -->
!
! <document>
! <code file="code.php"/>
!
! <dialog label="Descriptive Statistics">
! <row>
! <column>
! <varselector id="vars"/>
! </column>
! <column>
! <varslot type="numeric" multi="true" id="x" source="vars" required="true" label="variable(s):"/>
! <checkbox id="mean" label="mean" value="1" value_unchecked="0" checked="true"/>
! <checkbox id="median" label="median" value="1" value_unchecked="0"/>
! <checkbox id="range" label="range" value="1" value_unchecked="0" checked="true"/>
! <checkbox id="sd" label="standard deviation" value="1" value_unchecked="0" checked="true"/>
! </column>
! </row>
! </dialog>
!
</document>
--- 1,52 ----
<!DOCTYPE rkplugin>
! <!-- This is a simple example, of how a "plugin" might be configured. --><document>
! <code file="code.php" />
! <dialog label="Descriptive Statistics" >
! <row>
! <column>
! <varselector id="vars" />
! </column>
! <column>
! <varslot multi="true" type="numeric" source="vars" id="x" label="variable(s):" required="true" />
! </column>
! </row>
! <row>
! <column>
! <frame label="Mean" >
! <checkbox value_unchecked="0" checked="true" value="1" id="mean" label="mean" />
! <spinbox type="real" initial="0" min="0" id="trim" max="0.5" label="trim" />
! </frame>
! <stretch/>
! <frame label="Median, Range and Standard Deviation" >
! <checkbox value_unchecked="0" value="1" id="median" label="median" />
! <checkbox value_unchecked="0" checked="true" value="1" id="range" label="range" />
! <checkbox value_unchecked="0" checked="true" value="1" id="sd" label="standard deviation" />
! </frame>
! <stretch/>
! </column>
! <column>
! <frame label="Median Absolute Deviation (mad)" >
! <checkbox value_unchecked="0" value="1" id="mad" label="mad" />
! <radio id="low" label="lo-median" >
! <option value="low = FALSE" label="FALSE" />
! <option value="low = TRUE" label="TRUE" />
! </radio>
! <radio id="high" label="hi-median" >
! <option value="high = FALSE" label="FALSE" />
! <option value="high = TRUE" label="TRUE" />
! </radio>
! </frame>
! <stretch/>
! </column>
! <column>
! <frame label="Sum, Product and Length" >
! <checkbox value_unchecked="0" value="1" id="sum" label="sum" />
! <checkbox value_unchecked="0" value="1" id="prod" label="prod" />
! <checkbox value_unchecked="0" value="1" id="length" label="length" />
! <checkbox value_unchecked="0" value="1" id="nacount" label="Na count" />
! </frame>
! <stretch/>
! </column>
! </row>
! </dialog>
</document>
Index: code.php
===================================================================
RCS file: /cvsroot/rkward/rkward/rkward/plugins/20descriptive/code.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** code.php 27 Aug 2004 10:14:39 -0000 1.6
--- code.php 16 Aug 2006 16:58:33 -0000 1.7
***************
*** 5,19 ****
function calculate () {
$vars = "substitute (" . str_replace ("\n", "), substitute (", trim (getRK_val ("x"))) . ")";
?>
! rk.temp.options <- list (domean=<? getRK ("mean"); ?>, domedian=<? getRK ("median"); ?>, dorange=<? getRK ("range"); ?>, dosd=<? getRK ("sd"); ?>)
rk.temp.results <- list ()
i=0; for (var in list (<? echo ($vars); ?>)) {
i = i+1
rk.temp.results[[i]] <- list ()
! rk.temp.results[[i]]$object <- var
! if (rk.temp.options$domean) try (rk.temp.results[[i]]$mean <- mean (eval (var), 0, na.rm=TRUE))
if (rk.temp.options$domedian) try (rk.temp.results[[i]]$median <- median (eval (var), na.rm=TRUE))
if (rk.temp.options$dorange) try (rk.temp.results[[i]]$range <- range (eval (var), na.rm=TRUE))
if (rk.temp.options$dosd) try (rk.temp.results[[i]]$sd <- sd (eval (var), na.rm=TRUE))
}<?
}
--- 5,28 ----
function calculate () {
$vars = "substitute (" . str_replace ("\n", "), substitute (", trim (getRK_val ("x"))) . ")";
+ $trim = getRK_val ("trim"); //the fraction (0 to 0.5) of observations to be trimmed from each end of x before the mean is computed
+ $low = getRK_val ("low");
+ $high = getRK_val ("high");
+
?>
! rk.temp.options <- list (domean=<? getRK ("mean"); ?>, domedian=<? getRK ("median"); ?>, dorange=<? getRK ("range"); ?>, dosd=<? getRK ("sd"); ?>, dosum=<? getRK ("sum"); ?>, doprod=<? getRK ("prod"); ?>, domad=<? getRK ("mad"); ?>, dolength=<? getRK ("length"); ?>, donacount=<? getRK ("nacount"); ?>)
rk.temp.results <- list ()
i=0; for (var in list (<? echo ($vars); ?>)) {
i = i+1
rk.temp.results[[i]] <- list ()
! rk.temp.results[[i]]$object <- rk.get.description (var, is.substitute=TRUE)
! if (rk.temp.options$domean) try (rk.temp.results[[i]]$mean <- mean (eval (var), <?echo ($trim) ;?>, na.rm=TRUE))
if (rk.temp.options$domedian) try (rk.temp.results[[i]]$median <- median (eval (var), na.rm=TRUE))
if (rk.temp.options$dorange) try (rk.temp.results[[i]]$range <- range (eval (var), na.rm=TRUE))
if (rk.temp.options$dosd) try (rk.temp.results[[i]]$sd <- sd (eval (var), na.rm=TRUE))
+ if (rk.temp.options$dosum) try (rk.temp.results[[i]]$sum <- sum (eval (var), na.rm=TRUE))
+ if (rk.temp.options$doprod) try (rk.temp.results[[i]]$prod <- prod (eval (var), na.rm=TRUE))
+ if (rk.temp.options$domad) try (rk.temp.results[[i]]$mad <- mad (eval (var), <?echo ($low) ;?>, <?echo ($high) ;?>, na.rm=TRUE))
+ if (rk.temp.options$dolength) try (rk.temp.results[[i]]$length <- length (eval (var)))
+ if (rk.temp.options$donacount) try (rk.temp.results[[i]]$nacount <- length (which(is.na(eval (var)))))
}<?
}
***************
*** 22,26 ****
?>
cat ("<h1>Descriptive statistics</h1>")
!
cat ("<table border=\"1\"><tr><td>Variable</td>")
if (rk.temp.options$domean) cat ("<td>mean</td>")
--- 31,37 ----
?>
cat ("<h1>Descriptive statistics</h1>")
! cat ("<h2>Parmeters</h2>")
! cat (paste ("<h3>Trim of mean", <?getRK ("trim") ;?>, "</h3>\n"))
! if (rk.temp.options$domad) cat (paste ("<h3>Median Absolute Deviation:", "lo-median is", <?getRK ("low") ;?>, "and hi-median is", <? getRK ("high") ;?>,"</h3>\n"))
cat ("<table border=\"1\"><tr><td>Variable</td>")
if (rk.temp.options$domean) cat ("<td>mean</td>")
***************
*** 28,39 ****
if (rk.temp.options$dorange) cat ("<td>min</td><td>max</td>")
if (rk.temp.options$dosd) cat ("<td>standard deviation</td>")
cat ("</tr>")
for (i in 1:length (rk.temp.results)) {
! cat (paste ("<tr><td>", rk.get.description (rk.temp.results[[i]]$object), "</td>"))
! if (rk.temp.options$domean) cat (paste ("<td>", rk.temp.results[[i]]$mean, "</td>"))
! if (rk.temp.options$domedian) cat (paste ("<td>", rk.temp.results[[i]]$median, "</td>"))
! if (rk.temp.options$dorange) cat (paste ("<td>", rk.temp.results[[i]]$range[1], "</td>", "<td>", rk.temp.results[[i]]$range[2], "</td>"))
! if (rk.temp.options$dosd) cat (paste ("<td>", rk.temp.results[[i]]$sd, "</td>"))
cat ("</tr>")
}
--- 39,60 ----
if (rk.temp.options$dorange) cat ("<td>min</td><td>max</td>")
if (rk.temp.options$dosd) cat ("<td>standard deviation</td>")
+ if (rk.temp.options$dosum) cat ("<td>sum</td>")
+ if (rk.temp.options$doprod) cat ("<td>product</td>")
+ if (rk.temp.options$domad) cat ("<td>mad</td>")
+ if (rk.temp.options$dolength) cat ("<td>length of sample</td>")
+ if (rk.temp.options$donacount) cat ("<td>number of NAs</td>")
cat ("</tr>")
for (i in 1:length (rk.temp.results)) {
! cat ("<tr><td>", rk.temp.results[[i]]$object, "</td>")
! if (rk.temp.options$domean) cat ("<td>", rk.temp.results[[i]]$mean, "</td>")
! if (rk.temp.options$domedian) cat ("<td>", rk.temp.results[[i]]$median, "</td>")
! if (rk.temp.options$dorange) cat ("<td>", rk.temp.results[[i]]$range[1], "</td>", "<td>", rk.temp.results[[i]]$range[2], "</td>")
! if (rk.temp.options$dosd) cat ("<td>", rk.temp.results[[i]]$sd, "</td>")
! if (rk.temp.options$dosum) cat ("<td>", rk.temp.results[[i]]$sum, "</td>")
! if (rk.temp.options$doprod) cat ("<td>", rk.temp.results[[i]]$prod, "</td>")
! if (rk.temp.options$domad) cat ("<td>", rk.temp.results[[i]]$mad, "</td>")
! if (rk.temp.options$dolength) cat ("<td>", rk.temp.results[[i]]$length, "</td>")
! if (rk.temp.options$donacount) cat ("<td>", rk.temp.results[[i]]$nacount, "</td>")
cat ("</tr>")
}
More information about the rkward-tracker
mailing list