[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