[rkward-cvs] SF.net SVN: rkward:[3925] trunk/rkward/doc/rkwardplugins/index.docbook

m-eik at users.sourceforge.net m-eik at users.sourceforge.net
Tue Oct 11 17:23:07 UTC 2011


Revision: 3925
          http://rkward.svn.sourceforge.net/rkward/?rev=3925&view=rev
Author:   m-eik
Date:     2011-10-11 17:23:06 +0000 (Tue, 11 Oct 2011)
Log Message:
-----------
updated docs

Modified Paths:
--------------
    trunk/rkward/doc/rkwardplugins/index.docbook

Modified: trunk/rkward/doc/rkwardplugins/index.docbook
===================================================================
--- trunk/rkward/doc/rkwardplugins/index.docbook	2011-10-11 17:16:41 UTC (rev 3924)
+++ trunk/rkward/doc/rkwardplugins/index.docbook	2011-10-11 17:23:06 UTC (rev 3925)
@@ -1551,6 +1551,7 @@
 		<para><userinput>
 			<command>R</command> <option>CMD INSTALL</option> <parameter><filename>SquaretheCircle_0.1-3.tar.gz</filename></parameter>
 		</userinput></para>
+		<tip><para>You don't have to build the package like this on the command line. If you use the function <function>rk.build.package()</function> from the <link linkend="rkwarddev"><quote>rkwarddev</quote> package</link>, it will build and/or check your plugin package for you.</para></tip>
 	</sect1>
 </chapter>
 
@@ -1715,12 +1716,79 @@
 		printout=JS.print),
 	load=TRUE,
 	edit=TRUE,
-	show=TRUE,
-	overwrite=TRUE)
+	show=TRUE)
 			</programlisting>
 			<para>The files will be created in a temporal directory by default. The last three options are not necessary, but very handy: <markup>load=TRUE</markup> will automatically add the new plugin to &kapp;s configuration (since it's in a temp dir, it wil also automatically be removed again after&kapp; was restarted), <markup>edit=TRUE</markup> will open all created files for editing in &kapp; editor tabs, and <markup>show=TRUE</markup> will attemt to directly launch the plugin, so you can expect what it looks like without a klick. You might consider adding <markup>overwrite=TRUE</markup> if you're about to run your script repeatedly (e.g. after changes to the code), as by default no files will be overwritten.</para>
+			<para>The result object <quote>plugin.dir</quote> contains the path to the directory in which the plugin was created. This can be useful in combination with the function <function>rk.build.package()</function>, to build an actual R package to share your plugin with others.</para>
 		</sect2>
+		<sect2 id="rkdev_ttest_script"><title>The full script</title>
+		<para>So, to recapitulate all of the above, here's the full script to create the working t-test example. Adding to the already explained code, it also loads the package if needed, and it uses the <function>local()</function> environment, so all the objects will not be created in your global environment (except for <quote>plugin.dir</quote>):</para>
+		<programlisting>
+require(rkwarddev)
 
+local({
+	variables <- rk.XML.varselector(id.name="vars")
+	var.x <- rk.XML.varslot("compare", source=variables, types="number", required=TRUE)
+	var.y <- rk.XML.varslot("against", source=variables, types="number", required=TRUE)
+	test.hypothesis <- rk.XML.radio("using test hypothesis",
+		options=list(
+			"Two-sided"=c(val="two.sided"),
+			"First is greater"=c(val="greater"),
+			"Second is greater"=c(val="less")
+		)
+	)
+	check.paired <- rk.XML.cbox("Paired sample", value="1", un.value="0")
+	basic.settings <- rk.XML.row(variables, rk.XML.col(var.x, var.y, test.hypothesis, check.paired))
+
+	check.eqvar <- rk.XML.cbox("assume equal variances", value="1", un.value="0")
+	conf.level <- rk.XML.spinbox("confidence level", min=0, max=1, initial=0.95)
+	check.conf <- rk.XML.cbox("print confidence interval", val="1", chk=TRUE)
+	conf.frame <- rk.XML.frame(conf.level, check.conf, rk.XML.stretch(), label="Confidence Interval")
+
+	full.dialog <- rk.XML.dialog(
+		label="Independent Samples t-Test",
+		rk.XML.tabbook(
+			tab.labels=c("Basic settings", "Options"),
+			children=list(basic.settings, list(check.eqvar, conf.frame))
+		)
+	)
+
+	full.wizard <- rk.XML.wizard(
+			label="Independent Samples T-Test",
+			rk.XML.page(
+				rk.XML.text("As a first step, select the two variables you want to compare against each other. And specify, which one you theorize to be greater. Select two-sided, if your theory does not tell you, which variable is greater."),
+				rk.XML.copy(basic.settings)),
+			rk.XML.page(
+				rk.XML.text("Below are some advanced options. It's generally safe not to assume the variables have equal variances. An appropriate correction will be applied then. Chosing \"assume equal variances\" may increase test-strength, however."),
+				rk.XML.copy(check.eqvar),
+				rk.XML.text("Sometimes it's helpful to get an estimate of the confidence interval of the difference in means. Below you can specify whether one should be shown, and which confidence-level should be applied (95% corresponds to a 5% level of significance)."),
+				rk.XML.copy(conf.frame)))
+
+	JS.calc <- rk.paste.JS(
+		echo("res <- t.test (x=", var.x, ", y=", var.y, ", hypothesis=\"", test.hypothesis, "\""),
+		ite(id(check.paired), echo(", paired=TRUE")),
+		ite(id("!", check.paired, " && ", check.eqvar), echo(", var.equal=TRUE")),
+		ite(id(conf.level, " != \"0.95\""), echo(", conf.level=", conf.level)),
+		echo(")\n"), level=2)
+
+	JS.print <- rk.paste.JS(echo("rk.print (res)\n"), level=2)
+
+	plugin.dir <<- rk.plugin.skeleton("t_test",
+		xml=list(
+			dialog=full.dialog,
+			wizard=full.wizard),
+		js=list(
+			results.header="Independent samples t test",
+			calculate=JS.calc,
+			printout=JS.print),
+		load=TRUE,
+		edit=TRUE,
+		show=TRUE,
+		overwrite=TRUE)
+})
+		</programlisting>
+		</sect2>
+
 	</sect1>
 </chapter>
 

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