[rkward-cvs] SF.net SVN: rkward:[3637] trunk/rkward

tfry at users.sourceforge.net tfry at users.sourceforge.net
Fri May 27 13:19:37 UTC 2011


Revision: 3637
          http://rkward.svn.sourceforge.net/rkward/?rev=3637&view=rev
Author:   tfry
Date:     2011-05-27 13:19:37 +0000 (Fri, 27 May 2011)

Log Message:
-----------
Start putting rk.list() to use.

Modified Paths:
--------------
    trunk/rkward/ChangeLog
    trunk/rkward/rkward/plugins/descriptive/descriptive_statistics.js
    trunk/rkward/rkward/plugins/distributions/tests/ad_test.js
    trunk/rkward/rkward/plugins/distributions/tests/cvm_test.js
    trunk/rkward/rkward/plugins/distributions/tests/jb_test.js
    trunk/rkward/rkward/plugins/distributions/tests/lillie_test.js
    trunk/rkward/rkward/plugins/distributions/tests/pearson_test.js
    trunk/rkward/rkward/plugins/distributions/tests/sf_test.js
    trunk/rkward/rkward/plugins/distributions/tests/shapiro_test.js
    trunk/rkward/tests/analysis_plugins/RKTestStandard.descriptive_stats.rkcommands.R
    trunk/rkward/tests/distributions/RKTestStandard.ad_test.rkcommands.R
    trunk/rkward/tests/distributions/RKTestStandard.cvm_test.rkcommands.R
    trunk/rkward/tests/distributions/RKTestStandard.jb_test.rkcommands.R
    trunk/rkward/tests/distributions/RKTestStandard.lillie_test.rkcommands.R
    trunk/rkward/tests/distributions/RKTestStandard.pearson_test.rkcommands.R
    trunk/rkward/tests/distributions/RKTestStandard.sf_test.rkcommands.R
    trunk/rkward/tests/distributions/RKTestStandard.shapiro_wilk_test.rkcommands.R

Modified: trunk/rkward/ChangeLog
===================================================================
--- trunk/rkward/ChangeLog	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/ChangeLog	2011-05-27 13:19:37 UTC (rev 3637)
@@ -1,3 +1,6 @@
+- Simplify code produced by several plugins 											# TODO: convert remaining uses of substitute()
+- Fixed: Occasional duplication of first letter of keyword, when using "Copy lines to output" from the console window
+
 --- Version 0.5.6 - May-30-2011
 - Fixed: Would crash when searching for a term with quotes in the help search window
 - Add simple man page for command line options

Modified: trunk/rkward/rkward/plugins/descriptive/descriptive_statistics.js
===================================================================
--- trunk/rkward/rkward/plugins/descriptive/descriptive_statistics.js	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/rkward/plugins/descriptive/descriptive_statistics.js	2011-05-27 13:19:37 UTC (rev 3637)
@@ -3,16 +3,14 @@
 var constMad;
 
 function calculate () {
-	var vars = "substitute (" + trim (getValue ("x")).replace (/\n/g, "), substitute (") + ")";
+	var vars = trim (getValue ("x")).split ("\n").join (", ");
 	constMad = getValue ("constMad");
 	mad_type = getValue ("mad_type");
 
-
-	echo ('vars <- list (' + vars + ')\n');
-	echo ('results <- data.frame (\'Object\'=rep (NA, length (vars)))\n');
+	echo ('vars <- rk.list (' + vars + ')\n');
+	echo ('results <- data.frame (\'Object\'=I(names (vars)))\n');
 	echo ('for (i in 1:length (vars)) {\n');
-	echo ('	results[i, \'Object\'] <- rk.get.description (vars[[i]], is.substitute=TRUE)\n');
-	echo ('	var <- eval (vars[[i]], envir=globalenv())	# fetch the real object\n');
+	echo ('	var <- vars[[i]]\n');
 	echo ('\n');
 	echo ('	# we wrap each single call in a "try" statement to always continue on errors.\n');
 	if (getValue ("mean")) {

Modified: trunk/rkward/rkward/plugins/distributions/tests/ad_test.js
===================================================================
--- trunk/rkward/rkward/plugins/distributions/tests/ad_test.js	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/rkward/plugins/distributions/tests/ad_test.js	2011-05-27 13:19:37 UTC (rev 3637)
@@ -3,13 +3,12 @@
 }
 
 function calculate () {
-	var vars = "substitute (" + trim (getValue ("x")).replace (/\n/g, "), substitute (") + ")";
+	var vars = trim (getValue ("x"));
 
-	echo ('vars <- list (' + vars + ')\n');
-	echo ('results <- data.frame (\'Variable Name\'=rep (NA, length (vars)), check.names=FALSE)\n');
+	echo ('vars <- rk.list (' + vars.split ("\n").join (", ") + ')\n');
+	echo ('results <- data.frame (\'Variable Name\'=I(names (vars)), check.names=FALSE)\n');
 	echo ('for (i in 1:length (vars)) {\n');
-	echo ('	results[i, \'Variable Name\'] <- rk.get.description (vars[[i]], is.substitute=TRUE)\n');
-	echo ('	var <- eval (vars[[i]], envir=globalenv ())\n');
+	echo ('	var <- vars[[i]]\n');
 	if (getValue ("length")) {
 		echo ('	results[i, \'Length\'] <- length (var)\n');
 		echo ('	results[i, \'NAs\'] <- sum (is.na(var))\n');

Modified: trunk/rkward/rkward/plugins/distributions/tests/cvm_test.js
===================================================================
--- trunk/rkward/rkward/plugins/distributions/tests/cvm_test.js	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/rkward/plugins/distributions/tests/cvm_test.js	2011-05-27 13:19:37 UTC (rev 3637)
@@ -3,13 +3,12 @@
 }
 
 function calculate () {
-	var vars = "substitute (" + trim (getValue ("x")).replace (/\n/g, "), substitute (") + ")";
+	var vars = trim (getValue ("x"));
 
-	echo ('vars <- list (' + vars + ')\n');
-	echo ('results <- data.frame (\'Variable Name\'=rep (NA, length (vars)), check.names=FALSE)\n');
+	echo ('vars <- rk.list (' + vars.split ("\n").join (", ") + ')\n');
+	echo ('results <- data.frame (\'Variable Name\'=I(names (vars)), check.names=FALSE)\n');
 	echo ('for (i in 1:length (vars)) {\n');
-	echo ('	results[i, \'Variable Name\'] <- rk.get.description (vars[[i]], is.substitute=TRUE)\n');
-	echo ('	var <- eval (vars[[i]], envir=globalenv ())\n');
+	echo ('	var <- vars[[i]]\n');
 	if (getValue ("length")) {
 		echo ('	results[i, \'Length\'] <- length (var)\n');
 		echo ('	results[i, \'NAs\'] <- sum (is.na(var))\n');

Modified: trunk/rkward/rkward/plugins/distributions/tests/jb_test.js
===================================================================
--- trunk/rkward/rkward/plugins/distributions/tests/jb_test.js	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/rkward/plugins/distributions/tests/jb_test.js	2011-05-27 13:19:37 UTC (rev 3637)
@@ -3,13 +3,12 @@
 }
 
 function calculate () {
-	var vars = "substitute (" + trim (getValue ("x")).replace (/\n/g, "), substitute (") + ")";
+	var vars = trim (getValue ("x"));
 
-	echo ('vars <- list (' + vars + ')\n');
-	echo ('results <- data.frame (\'Variable Name\'=rep (NA, length (vars)), check.names=FALSE)\n');
+	echo ('vars <- rk.list (' + vars.split ("\n").join (", ") + ')\n');
+	echo ('results <- data.frame (\'Variable Name\'=I(names (vars)), check.names=FALSE)\n');
 	echo ('for (i in 1:length (vars)) {\n');
-	echo ('	results[i, \'Variable Name\'] <- rk.get.description (vars[[i]], is.substitute=TRUE)\n');
-	echo ('	var <- eval (vars[[i]], envir=globalenv ())\n');
+	echo ('	var <- vars[[i]]\n');
 	if (getValue ("length")) {
 		echo ('	results[i, \'Length\'] <- length (var)\n');
 		echo ('	results[i, \'NAs\'] <- sum (is.na(var))\n');

Modified: trunk/rkward/rkward/plugins/distributions/tests/lillie_test.js
===================================================================
--- trunk/rkward/rkward/plugins/distributions/tests/lillie_test.js	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/rkward/plugins/distributions/tests/lillie_test.js	2011-05-27 13:19:37 UTC (rev 3637)
@@ -3,13 +3,12 @@
 }
 
 function calculate () {
-	var vars = "substitute (" + trim (getValue ("x")).replace (/\n/g, "), substitute (") + ")";
+	var vars = trim (getValue ("x"));
 
-	echo ('vars <- list (' + vars + ')\n');
-	echo ('results <- data.frame (\'Variable Name\'=rep (NA, length (vars)), check.names=FALSE)\n');
+	echo ('vars <- rk.list (' + vars.split ("\n").join (", ") + ')\n');
+	echo ('results <- data.frame (\'Variable Name\'=I(names (vars)), check.names=FALSE)\n');
 	echo ('for (i in 1:length (vars)) {\n');
-	echo ('	results[i, \'Variable Name\'] <- rk.get.description (vars[[i]], is.substitute=TRUE)\n');
-	echo ('	var <- eval (vars[[i]], envir=globalenv())\n');
+	echo ('	var <- vars[[i]]\n');
 	if (getValue ("length")) {
 		echo ('	results[i, \'Length\'] <- length (var)\n');
 		echo ('	results[i, \'NAs\'] <- sum (is.na(var))\n');

Modified: trunk/rkward/rkward/plugins/distributions/tests/pearson_test.js
===================================================================
--- trunk/rkward/rkward/plugins/distributions/tests/pearson_test.js	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/rkward/plugins/distributions/tests/pearson_test.js	2011-05-27 13:19:37 UTC (rev 3637)
@@ -3,15 +3,13 @@
 }
 
 function calculate () {
-	var vars = "substitute (" + trim (getValue ("x")).replace (/\n/g, "), substitute (") + ")";
 	var adjust = getValue ("adjust");
+	var vars = trim (getValue ("x"));
 
-
-	echo ('vars <- list (' + vars + ')\n');
-	echo ('results <- data.frame (\'Variable Name\'=rep (NA, length (vars)), check.names=FALSE)\n');
+	echo ('vars <- rk.list (' + vars.split ("\n").join (", ") + ')\n');
+	echo ('results <- data.frame (\'Variable Name\'=I(names (vars)), check.names=FALSE)\n');
 	echo ('for (i in 1:length (vars)) {\n');
-	echo ('	results[i, \'Variable Name\'] <- rk.get.description (vars[[i]], is.substitute=TRUE)\n');
-	echo ('	var <- eval (vars[[i]], envir=globalenv ())\n');
+	echo ('	var <- vars[[i]]\n');
 	if (getValue ("length")) {
 		echo ('	results[i, \'Length\'] <- length (var)\n');
 		echo ('	results[i, \'NAs\'] <- sum (is.na(var))\n');

Modified: trunk/rkward/rkward/plugins/distributions/tests/sf_test.js
===================================================================
--- trunk/rkward/rkward/plugins/distributions/tests/sf_test.js	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/rkward/plugins/distributions/tests/sf_test.js	2011-05-27 13:19:37 UTC (rev 3637)
@@ -3,13 +3,12 @@
 }
 
 function calculate () {
-	var vars = "substitute (" + trim (getValue ("x")).replace (/\n/g, "), substitute (") + ")";
+	var vars = trim (getValue ("x"));
 
-	echo ('vars <- list (' + vars + ')\n');
-	echo ('results <- data.frame (\'Variable Name\'=rep (NA, length (vars)), check.names=FALSE)\n');
+	echo ('vars <- rk.list (' + vars.split ("\n").join (", ") + ')\n');
+	echo ('results <- data.frame (\'Variable Name\'=I(names (vars)), check.names=FALSE)\n');
 	echo ('for (i in 1:length (vars)) {\n');
-	echo ('	results[i, \'Variable Name\'] <- rk.get.description (vars[[i]], is.substitute=TRUE)\n');
-	echo ('	var <- eval (vars[[i]], envir=globalenv())\n');
+	echo ('	var <- vars[[i]]\n');
 	if (getValue ("length")) {
 		echo ('	results[i, \'Length\'] <- length (var)\n');
 		echo ('	results[i, \'NAs\'] <- sum (is.na(var))\n');

Modified: trunk/rkward/rkward/plugins/distributions/tests/shapiro_test.js
===================================================================
--- trunk/rkward/rkward/plugins/distributions/tests/shapiro_test.js	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/rkward/plugins/distributions/tests/shapiro_test.js	2011-05-27 13:19:37 UTC (rev 3637)
@@ -1,11 +1,10 @@
 function calculate () {
-	var vars = "substitute (" + trim (getValue ("x")).replace (/\n/g, "), substitute (") + ")";
+	var vars = trim (getValue ("x"));
 
-	echo ('vars <- list (' + vars + ')\n');
-	echo ('results <- data.frame (\'Variable Name\'=rep (NA, length (vars)), check.names=FALSE)\n');
+	echo ('vars <- rk.list (' + vars.split ("\n").join (", ") + ')\n');
+	echo ('results <- data.frame (\'Variable Name\'=I(names (vars)), check.names=FALSE)\n');
 	echo ('for (i in 1:length (vars)) {\n');
-	echo ('	results[i, \'Variable Name\'] <- rk.get.description (vars[[i]], is.substitute=TRUE)\n');
-	echo ('	var <- eval (vars[[i]], envir=globalenv())\n');
+	echo ('	var <- vars[[i]]\n');
 	if (getValue ("length")) {
 		echo ('	results[i, \'Length\'] <- length (var)\n');
 		echo ('	results[i, \'NAs\'] <- sum (is.na(var))\n');

Modified: trunk/rkward/tests/analysis_plugins/RKTestStandard.descriptive_stats.rkcommands.R
===================================================================
--- trunk/rkward/tests/analysis_plugins/RKTestStandard.descriptive_stats.rkcommands.R	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/tests/analysis_plugins/RKTestStandard.descriptive_stats.rkcommands.R	2011-05-27 13:19:37 UTC (rev 3637)
@@ -1,11 +1,10 @@
 local({
 ## Prepare
 ## Compute
-vars <- list (substitute (women[["height"]]), substitute (test10z))
-results <- data.frame ('Object'=rep (NA, length (vars)))
+vars <- rk.list (women[["height"]], test10z)
+results <- data.frame ('Object'=I(names (vars)))
 for (i in 1:length (vars)) {
-	results[i, 'Object'] <- rk.get.description (vars[[i]], is.substitute=TRUE)
-	var <- eval (vars[[i]], envir=globalenv())	# fetch the real object
+	var <- vars[[i]]
 
 	# we wrap each single call in a "try" statement to always continue on errors.
 	results[i, 'mean'] <- try (mean (var, trim = 0.00, na.rm=TRUE))

Modified: trunk/rkward/tests/distributions/RKTestStandard.ad_test.rkcommands.R
===================================================================
--- trunk/rkward/tests/distributions/RKTestStandard.ad_test.rkcommands.R	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/tests/distributions/RKTestStandard.ad_test.rkcommands.R	2011-05-27 13:19:37 UTC (rev 3637)
@@ -2,11 +2,10 @@
 ## Prepare
 require(nortest)
 ## Compute
-vars <- list (substitute (rock[["shape"]]), substitute (rock[["perm"]]))
-results <- data.frame ('Variable Name'=rep (NA, length (vars)), check.names=FALSE)
+vars <- rk.list (rock[["shape"]], rock[["perm"]])
+results <- data.frame ('Variable Name'=I(names (vars)), check.names=FALSE)
 for (i in 1:length (vars)) {
-	results[i, 'Variable Name'] <- rk.get.description (vars[[i]], is.substitute=TRUE)
-	var <- eval (vars[[i]], envir=globalenv ())
+	var <- vars[[i]]
 	results[i, 'Length'] <- length (var)
 	results[i, 'NAs'] <- sum (is.na(var))
 	try ({

Modified: trunk/rkward/tests/distributions/RKTestStandard.cvm_test.rkcommands.R
===================================================================
--- trunk/rkward/tests/distributions/RKTestStandard.cvm_test.rkcommands.R	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/tests/distributions/RKTestStandard.cvm_test.rkcommands.R	2011-05-27 13:19:37 UTC (rev 3637)
@@ -2,11 +2,10 @@
 ## Prepare
 require(nortest)
 ## Compute
-vars <- list (substitute (rock[["shape"]]), substitute (rock[["perm"]]))
-results <- data.frame ('Variable Name'=rep (NA, length (vars)), check.names=FALSE)
+vars <- rk.list (rock[["shape"]], rock[["perm"]])
+results <- data.frame ('Variable Name'=I(names (vars)), check.names=FALSE)
 for (i in 1:length (vars)) {
-	results[i, 'Variable Name'] <- rk.get.description (vars[[i]], is.substitute=TRUE)
-	var <- eval (vars[[i]], envir=globalenv ())
+	var <- vars[[i]]
 	results[i, 'Length'] <- length (var)
 	results[i, 'NAs'] <- sum (is.na(var))
 	try ({

Modified: trunk/rkward/tests/distributions/RKTestStandard.jb_test.rkcommands.R
===================================================================
--- trunk/rkward/tests/distributions/RKTestStandard.jb_test.rkcommands.R	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/tests/distributions/RKTestStandard.jb_test.rkcommands.R	2011-05-27 13:19:37 UTC (rev 3637)
@@ -2,11 +2,10 @@
 ## Prepare
 require(tseries)
 ## Compute
-vars <- list (substitute (rock[["shape"]]), substitute (rock[["perm"]]))
-results <- data.frame ('Variable Name'=rep (NA, length (vars)), check.names=FALSE)
+vars <- rk.list (rock[["shape"]], rock[["perm"]])
+results <- data.frame ('Variable Name'=I(names (vars)), check.names=FALSE)
 for (i in 1:length (vars)) {
-	results[i, 'Variable Name'] <- rk.get.description (vars[[i]], is.substitute=TRUE)
-	var <- eval (vars[[i]], envir=globalenv ())
+	var <- vars[[i]]
 	results[i, 'Length'] <- length (var)
 	results[i, 'NAs'] <- sum (is.na(var))
 	var <- na.omit (var)

Modified: trunk/rkward/tests/distributions/RKTestStandard.lillie_test.rkcommands.R
===================================================================
--- trunk/rkward/tests/distributions/RKTestStandard.lillie_test.rkcommands.R	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/tests/distributions/RKTestStandard.lillie_test.rkcommands.R	2011-05-27 13:19:37 UTC (rev 3637)
@@ -2,11 +2,10 @@
 ## Prepare
 require (nortest)
 ## Compute
-vars <- list (substitute (rock[["shape"]]), substitute (rock[["perm"]]))
-results <- data.frame ('Variable Name'=rep (NA, length (vars)), check.names=FALSE)
+vars <- rk.list (rock[["shape"]], rock[["perm"]])
+results <- data.frame ('Variable Name'=I(names (vars)), check.names=FALSE)
 for (i in 1:length (vars)) {
-	results[i, 'Variable Name'] <- rk.get.description (vars[[i]], is.substitute=TRUE)
-	var <- eval (vars[[i]], envir=globalenv())
+	var <- vars[[i]]
 	results[i, 'Length'] <- length (var)
 	results[i, 'NAs'] <- sum (is.na(var))
 	try ({

Modified: trunk/rkward/tests/distributions/RKTestStandard.pearson_test.rkcommands.R
===================================================================
--- trunk/rkward/tests/distributions/RKTestStandard.pearson_test.rkcommands.R	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/tests/distributions/RKTestStandard.pearson_test.rkcommands.R	2011-05-27 13:19:37 UTC (rev 3637)
@@ -2,11 +2,10 @@
 ## Prepare
 require(nortest)
 ## Compute
-vars <- list (substitute (rock[["shape"]]), substitute (rock[["perm"]]))
-results <- data.frame ('Variable Name'=rep (NA, length (vars)), check.names=FALSE)
+vars <- rk.list (rock[["shape"]], rock[["perm"]])
+results <- data.frame ('Variable Name'=I(names (vars)), check.names=FALSE)
 for (i in 1:length (vars)) {
-	results[i, 'Variable Name'] <- rk.get.description (vars[[i]], is.substitute=TRUE)
-	var <- eval (vars[[i]], envir=globalenv ())
+	var <- vars[[i]]
 	results[i, 'Length'] <- length (var)
 	results[i, 'NAs'] <- sum (is.na(var))
 	try ({
@@ -28,11 +27,10 @@
 ## Prepare
 require(nortest)
 ## Compute
-vars <- list (substitute (rock[["shape"]]), substitute (rock[["perm"]]))
-results <- data.frame ('Variable Name'=rep (NA, length (vars)), check.names=FALSE)
+vars <- rk.list (rock[["shape"]], rock[["perm"]])
+results <- data.frame ('Variable Name'=I(names (vars)), check.names=FALSE)
 for (i in 1:length (vars)) {
-	results[i, 'Variable Name'] <- rk.get.description (vars[[i]], is.substitute=TRUE)
-	var <- eval (vars[[i]], envir=globalenv ())
+	var <- vars[[i]]
 	results[i, 'Length'] <- length (var)
 	results[i, 'NAs'] <- sum (is.na(var))
 	try ({

Modified: trunk/rkward/tests/distributions/RKTestStandard.sf_test.rkcommands.R
===================================================================
--- trunk/rkward/tests/distributions/RKTestStandard.sf_test.rkcommands.R	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/tests/distributions/RKTestStandard.sf_test.rkcommands.R	2011-05-27 13:19:37 UTC (rev 3637)
@@ -2,11 +2,10 @@
 ## Prepare
 require(nortest)
 ## Compute
-vars <- list (substitute (rock[["shape"]]), substitute (rock[["perm"]]))
-results <- data.frame ('Variable Name'=rep (NA, length (vars)), check.names=FALSE)
+vars <- rk.list (rock[["shape"]], rock[["perm"]])
+results <- data.frame ('Variable Name'=I(names (vars)), check.names=FALSE)
 for (i in 1:length (vars)) {
-	results[i, 'Variable Name'] <- rk.get.description (vars[[i]], is.substitute=TRUE)
-	var <- eval (vars[[i]], envir=globalenv())
+	var <- vars[[i]]
 	results[i, 'Length'] <- length (var)
 	results[i, 'NAs'] <- sum (is.na(var))
 	try ({

Modified: trunk/rkward/tests/distributions/RKTestStandard.shapiro_wilk_test.rkcommands.R
===================================================================
--- trunk/rkward/tests/distributions/RKTestStandard.shapiro_wilk_test.rkcommands.R	2011-05-26 22:44:35 UTC (rev 3636)
+++ trunk/rkward/tests/distributions/RKTestStandard.shapiro_wilk_test.rkcommands.R	2011-05-27 13:19:37 UTC (rev 3637)
@@ -1,11 +1,10 @@
 local({
 ## Prepare
 ## Compute
-vars <- list (substitute (rock[["shape"]]), substitute (rock[["perm"]]))
-results <- data.frame ('Variable Name'=rep (NA, length (vars)), check.names=FALSE)
+vars <- rk.list (rock[["shape"]], rock[["perm"]])
+results <- data.frame ('Variable Name'=I(names (vars)), check.names=FALSE)
 for (i in 1:length (vars)) {
-	results[i, 'Variable Name'] <- rk.get.description (vars[[i]], is.substitute=TRUE)
-	var <- eval (vars[[i]], envir=globalenv())
+	var <- vars[[i]]
 	results[i, 'Length'] <- length (var)
 	results[i, 'NAs'] <- sum (is.na(var))
 	try ({


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the rkward-tracker mailing list