<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: post hoc tests for nonparametric data in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/post-hoc-tests-for-nonparametric-data/m-p/2361#M2361</link>
    <description>Hi Neil - this looks as if it'll need some scripting, I'm afraid.  I've just had a go at it myself, and come up with the one below, which should produce the same Kruskal-Wallis P values as the Fit Y by X platform, for any nominal factor X and any number of Y variables.  I've tried it out on the Big Class.JMP sample data set, using either Age or Sex as the X factor, and Height and/or Weight as the Y variable(s), and it seems to work, though I've no doubt it could be tidied up a lot.  This program doesn't adjust the P values from the pairwise comparisons for multiple testing: the best I can suggest there would be to use the Bonferroni correction on them.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;&lt;BR /&gt;// Start of program;&lt;BR /&gt; &lt;BR /&gt;DataFile = PickFile("Select Raw Data Table for Kruskal-Wallis Test:",, {"JMP Files|JMP"});&lt;BR /&gt; &lt;BR /&gt;dt = open( DataFile );&lt;BR /&gt;dt &amp;lt;&amp;lt; minimize window;&lt;BR /&gt; &lt;BR /&gt;VarList = ColumnDialog(Title("Assign Roles:"),&lt;BR /&gt;	Xfac = ColList("Factor ID",   Min Col(1), Max Col(1)),&lt;BR /&gt;	Yvar = ColList("Response(s)", Min Col(1), DataType(Numeric)),&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;Column(dt, Char(VarList["Xfac"][1])) &amp;lt;&amp;lt; data type("Character");&lt;BR /&gt;Column(dt, Char(VarList["Xfac"][1])) &amp;lt;&amp;lt; set modeling type("Nominal");&lt;BR /&gt; &lt;BR /&gt;xCol = Column(dt, VarList["Xfac"]);&lt;BR /&gt; &lt;BR /&gt;Response_List = VarList["Yvar"];&lt;BR /&gt;yCols = {};&lt;BR /&gt;for(i=1, i&amp;lt;=nItems(VarList["Yvar"]), i++,&lt;BR /&gt;	insert into(yCols, Column(dt, Response_List[i]))&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;summarize(xLev=by(xCol)); // We'll need a list of the factor levels later, so create it now;&lt;BR /&gt; &lt;BR /&gt;dt &amp;lt;&amp;lt; select all rows;&lt;BR /&gt;dts = dt &amp;lt;&amp;lt; subset(visible);&lt;BR /&gt; &lt;BR /&gt;dto = Oneway(&lt;BR /&gt;	Y( eval list( yCols ) ), X( eval list( xCol ) ),&lt;BR /&gt;	Wilcoxon Test( 1 ), Box Plots( 0 ), Mean Diamonds( 0 ), invisible&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;dtoreport = dto &amp;lt;&amp;lt; report;&lt;BR /&gt; &lt;BR /&gt;// DTOREPORT will only be a list if there are at least two response variables;&lt;BR /&gt; &lt;BR /&gt;if(islist(dtoreport),&lt;BR /&gt;	chisqd = dtoreport[1][NumberColBox(5)] &amp;lt;&amp;lt; MakeCombinedDataTable,&lt;BR /&gt;	chisqd = dtoreport[NumberColBox(5)]    &amp;lt;&amp;lt; MakeCombinedDataTable&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;dtoreport &amp;lt;&amp;lt; close window;&lt;BR /&gt; &lt;BR /&gt;chisqd &amp;lt;&amp;lt; add multiple columns("With",    1, Before First, Character);&lt;BR /&gt;chisqd &amp;lt;&amp;lt; add multiple columns("Compare", 1, Before First, Character);&lt;BR /&gt; &lt;BR /&gt;for(i=1, i&amp;lt;=nrow(chisqd), i++,&lt;BR /&gt;	column(chisqd, "Compare")[i] = "All"; column(chisqd, "With")[i] = "All"&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;/*&lt;BR /&gt;	We'll get a different set of summary statistics depending on whether xLev has more&lt;BR /&gt;	than two levels or not, because if xLev &amp;gt; 2 then it's a chi-squared test, whereas&lt;BR /&gt;	if there are only two levels the 2-sample test returns a Z statistic.&lt;BR /&gt;*/&lt;BR /&gt; &lt;BR /&gt;if(nItems(xLev) &amp;gt; 2,&lt;BR /&gt;	chisqd &amp;lt;&amp;lt; delete columns({"ChiSquare", "DF"});&lt;BR /&gt;	column(chisqd, "Prob&amp;gt;ChiSq") &amp;lt;&amp;lt; set name("P Value");&lt;BR /&gt;	,&lt;BR /&gt;	chisqd &amp;lt;&amp;lt; delete columns({"s", "Z"});&lt;BR /&gt;	column(chisqd, "Prob&amp;gt;|Z|") &amp;lt;&amp;lt; set name("P Value");&lt;BR /&gt;	);&lt;BR /&gt; 	&lt;BR /&gt;chisqd &amp;lt;&amp;lt; select all rows;&lt;BR /&gt;Significances = chisqd &amp;lt;&amp;lt; subset(visible);&lt;BR /&gt;close(chisqd, nosave);&lt;BR /&gt;Significances &amp;lt;&amp;lt; set name("Significances");&lt;BR /&gt;column(Significances, "P Value") &amp;lt;&amp;lt; format("Fixed Dec", 20, 4);&lt;BR /&gt; &lt;BR /&gt;close(dts, nosave);&lt;BR /&gt; &lt;BR /&gt;/*&lt;BR /&gt;	Now run every pairwise comparison of all the levels of Xfac,&lt;BR /&gt;	and append each of them in turn to Significances;&lt;BR /&gt;*/&lt;BR /&gt; &lt;BR /&gt;if(nItems(xLev) &amp;gt; 2,&lt;BR /&gt; &lt;BR /&gt;	xName = Column(dt, VarList["Xfac"]) &amp;lt;&amp;lt; get name;&lt;BR /&gt; 		&lt;BR /&gt;	for(k=1, k&amp;lt;=nItems(xLev)-1, k++,&lt;BR /&gt;		for(l=k+1, l&amp;lt;=nItems(xLev), l++,&lt;BR /&gt; &lt;BR /&gt;			dt &amp;lt;&amp;lt; select all rows;&lt;BR /&gt;			TextToParse = "dt &amp;lt;&amp;lt; select where((:" || xName || "==\!"" || xLev[k]&lt;BR /&gt;				|| "\!")|(:" || xName || "==\!"" || xLev[l] || "\!"));";&lt;BR /&gt;//			show(TextToParse);&lt;BR /&gt;			eval(parse(TextToParse));&lt;BR /&gt;			dts = dt &amp;lt;&amp;lt; subset(invisible);&lt;BR /&gt;			dts &amp;lt;&amp;lt; set name("DTS");&lt;BR /&gt;&lt;BR /&gt;			xCol = Column(dts, VarList["Xfac"]);&lt;BR /&gt; &lt;BR /&gt;			Response_List = VarList["Yvar"];&lt;BR /&gt;			yCols = {};&lt;BR /&gt;			for(i=1, i&amp;lt;=nItems(VarList["Yvar"]), i++,&lt;BR /&gt;				insert into(yCols, Column(dt, Response_List[i]))&lt;BR /&gt;				);&lt;BR /&gt;		&lt;BR /&gt;			dto = dts &amp;lt;&amp;lt; Oneway(&lt;BR /&gt;				Y( eval list( yCols ) ), X( eval( xCol ) ),&lt;BR /&gt;				Wilcoxon Test( 1 ), Box Plots( 0 ), Mean Diamonds( 0 ), invisible&lt;BR /&gt;				);&lt;BR /&gt; &lt;BR /&gt;			dtoreport = dto &amp;lt;&amp;lt; report;&lt;BR /&gt; &lt;BR /&gt;			// DTOREPORT will only be a list if there are at least two response variables;&lt;BR /&gt; &lt;BR /&gt;			if(islist(dtoreport),&lt;BR /&gt;				chisqd = dtoreport[1][NumberColBox(5)] &amp;lt;&amp;lt; MakeCombinedDataTable,&lt;BR /&gt;				chisqd = dtoreport[NumberColBox(5)]    &amp;lt;&amp;lt; MakeCombinedDataTable&lt;BR /&gt;				);&lt;BR /&gt; &lt;BR /&gt;			chisqdi = chisqd &amp;lt;&amp;lt; subset(invisible);&lt;BR /&gt;			close(chisqd, nosave);&lt;BR /&gt;			&lt;BR /&gt;			chisqdi &amp;lt;&amp;lt; delete columns({"s", "Z"});&lt;BR /&gt;			column(chisqdi, "Prob&amp;gt;|Z|") &amp;lt;&amp;lt; set name("P Value");&lt;BR /&gt;			column(chisqdi, "P Value") &amp;lt;&amp;lt; format("Fixed Dec", 20, 4);&lt;BR /&gt; 		&lt;BR /&gt;			close(dts, nosave);&lt;BR /&gt; 		&lt;BR /&gt;			chisqdi &amp;lt;&amp;lt; add multiple columns("With",    1, Before First, Character);&lt;BR /&gt;			chisqdi &amp;lt;&amp;lt; add multiple columns("Compare", 1, Before First, Character);&lt;BR /&gt; &lt;BR /&gt;			for(i=1, i&amp;lt;=nrow(chisqdi), i++,&lt;BR /&gt;				column(chisqdi, "Compare")[i] = xLev[k]; column(chisqdi, "With")[i] = xLev[l]&lt;BR /&gt;				);&lt;BR /&gt; &lt;BR /&gt;			Significances &amp;lt;&amp;lt; Concatenate( chisqdi, Append to First Table );&lt;BR /&gt;			close(chisqdi, nosave);&lt;BR /&gt;			)&lt;BR /&gt;		)	&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;// Add a column of significance codes for P &amp;lt;= 0.05 = "*", P &amp;lt;= 0.01 = "**", P &amp;lt;= 0.001="***";&lt;BR /&gt; &lt;BR /&gt;Significances &amp;lt;&amp;lt; new column("Sig", Character(10));&lt;BR /&gt;for(i=1, i&amp;lt;=nrow(Significances), i++,&lt;BR /&gt;	column(Significances, "Sig")[i] = if(column(Significances, "P Value")[i] &amp;lt;= 0.001, "***",&lt;BR /&gt;		if(column(Significances, "P Value")[i] &amp;lt;= 0.01, "**",&lt;BR /&gt;			if(column(Significances, "P Value")[i] &amp;lt;= 0.05, "*", "")&lt;BR /&gt;			)&lt;BR /&gt;		)&lt;BR /&gt;	);&lt;BR /&gt; 	&lt;BR /&gt;close(dt, nosave);&lt;BR /&gt; &lt;BR /&gt;// End of program;&lt;BR /&gt; &lt;BR /&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;edit (Save) required to reset formatting&lt;BR /&gt;&lt;BR /&gt;    &lt;BR /&gt;Message was edited by: ForumAdmin@sas</description>
    <pubDate>Sun, 19 Sep 2010 11:21:43 GMT</pubDate>
    <dc:creator />
    <dc:date>2010-09-19T11:21:43Z</dc:date>
    <item>
      <title>post hoc tests for nonparametric data</title>
      <link>https://community.jmp.com/t5/Discussions/post-hoc-tests-for-nonparametric-data/m-p/2360#M2360</link>
      <description>Hi&lt;BR /&gt;&lt;BR /&gt;I have a sinking feeling there is no quick fix to this but does anybody know how to run post hoc tests for nonparametric data in JMP? I am trying to compare 3 groups for differences in mean values such as visual acuity and neither the data nor the residuals are normally distributed in every instance. I have been performing Kruskal-Wallis analyses and then excluding groups to make the comparisons between 2 groups at a time. The problem is that this introduces type I error and, if the data were normally distributed, I would do a post hoc test to control for this.&lt;BR /&gt;&lt;BR /&gt;What options are there to do this in JMP - if any?&lt;BR /&gt;&lt;BR /&gt;Pulling my hair out with frustration at present.&lt;BR /&gt;&lt;BR /&gt;Thanks for your time.&lt;BR /&gt;&lt;BR /&gt;Neil</description>
      <pubDate>Fri, 10 Sep 2010 14:13:33 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/post-hoc-tests-for-nonparametric-data/m-p/2360#M2360</guid>
      <dc:creator />
      <dc:date>2010-09-10T14:13:33Z</dc:date>
    </item>
    <item>
      <title>Re: post hoc tests for nonparametric data</title>
      <link>https://community.jmp.com/t5/Discussions/post-hoc-tests-for-nonparametric-data/m-p/2361#M2361</link>
      <description>Hi Neil - this looks as if it'll need some scripting, I'm afraid.  I've just had a go at it myself, and come up with the one below, which should produce the same Kruskal-Wallis P values as the Fit Y by X platform, for any nominal factor X and any number of Y variables.  I've tried it out on the Big Class.JMP sample data set, using either Age or Sex as the X factor, and Height and/or Weight as the Y variable(s), and it seems to work, though I've no doubt it could be tidied up a lot.  This program doesn't adjust the P values from the pairwise comparisons for multiple testing: the best I can suggest there would be to use the Bonferroni correction on them.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;&lt;BR /&gt;// Start of program;&lt;BR /&gt; &lt;BR /&gt;DataFile = PickFile("Select Raw Data Table for Kruskal-Wallis Test:",, {"JMP Files|JMP"});&lt;BR /&gt; &lt;BR /&gt;dt = open( DataFile );&lt;BR /&gt;dt &amp;lt;&amp;lt; minimize window;&lt;BR /&gt; &lt;BR /&gt;VarList = ColumnDialog(Title("Assign Roles:"),&lt;BR /&gt;	Xfac = ColList("Factor ID",   Min Col(1), Max Col(1)),&lt;BR /&gt;	Yvar = ColList("Response(s)", Min Col(1), DataType(Numeric)),&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;Column(dt, Char(VarList["Xfac"][1])) &amp;lt;&amp;lt; data type("Character");&lt;BR /&gt;Column(dt, Char(VarList["Xfac"][1])) &amp;lt;&amp;lt; set modeling type("Nominal");&lt;BR /&gt; &lt;BR /&gt;xCol = Column(dt, VarList["Xfac"]);&lt;BR /&gt; &lt;BR /&gt;Response_List = VarList["Yvar"];&lt;BR /&gt;yCols = {};&lt;BR /&gt;for(i=1, i&amp;lt;=nItems(VarList["Yvar"]), i++,&lt;BR /&gt;	insert into(yCols, Column(dt, Response_List[i]))&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;summarize(xLev=by(xCol)); // We'll need a list of the factor levels later, so create it now;&lt;BR /&gt; &lt;BR /&gt;dt &amp;lt;&amp;lt; select all rows;&lt;BR /&gt;dts = dt &amp;lt;&amp;lt; subset(visible);&lt;BR /&gt; &lt;BR /&gt;dto = Oneway(&lt;BR /&gt;	Y( eval list( yCols ) ), X( eval list( xCol ) ),&lt;BR /&gt;	Wilcoxon Test( 1 ), Box Plots( 0 ), Mean Diamonds( 0 ), invisible&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;dtoreport = dto &amp;lt;&amp;lt; report;&lt;BR /&gt; &lt;BR /&gt;// DTOREPORT will only be a list if there are at least two response variables;&lt;BR /&gt; &lt;BR /&gt;if(islist(dtoreport),&lt;BR /&gt;	chisqd = dtoreport[1][NumberColBox(5)] &amp;lt;&amp;lt; MakeCombinedDataTable,&lt;BR /&gt;	chisqd = dtoreport[NumberColBox(5)]    &amp;lt;&amp;lt; MakeCombinedDataTable&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;dtoreport &amp;lt;&amp;lt; close window;&lt;BR /&gt; &lt;BR /&gt;chisqd &amp;lt;&amp;lt; add multiple columns("With",    1, Before First, Character);&lt;BR /&gt;chisqd &amp;lt;&amp;lt; add multiple columns("Compare", 1, Before First, Character);&lt;BR /&gt; &lt;BR /&gt;for(i=1, i&amp;lt;=nrow(chisqd), i++,&lt;BR /&gt;	column(chisqd, "Compare")[i] = "All"; column(chisqd, "With")[i] = "All"&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;/*&lt;BR /&gt;	We'll get a different set of summary statistics depending on whether xLev has more&lt;BR /&gt;	than two levels or not, because if xLev &amp;gt; 2 then it's a chi-squared test, whereas&lt;BR /&gt;	if there are only two levels the 2-sample test returns a Z statistic.&lt;BR /&gt;*/&lt;BR /&gt; &lt;BR /&gt;if(nItems(xLev) &amp;gt; 2,&lt;BR /&gt;	chisqd &amp;lt;&amp;lt; delete columns({"ChiSquare", "DF"});&lt;BR /&gt;	column(chisqd, "Prob&amp;gt;ChiSq") &amp;lt;&amp;lt; set name("P Value");&lt;BR /&gt;	,&lt;BR /&gt;	chisqd &amp;lt;&amp;lt; delete columns({"s", "Z"});&lt;BR /&gt;	column(chisqd, "Prob&amp;gt;|Z|") &amp;lt;&amp;lt; set name("P Value");&lt;BR /&gt;	);&lt;BR /&gt; 	&lt;BR /&gt;chisqd &amp;lt;&amp;lt; select all rows;&lt;BR /&gt;Significances = chisqd &amp;lt;&amp;lt; subset(visible);&lt;BR /&gt;close(chisqd, nosave);&lt;BR /&gt;Significances &amp;lt;&amp;lt; set name("Significances");&lt;BR /&gt;column(Significances, "P Value") &amp;lt;&amp;lt; format("Fixed Dec", 20, 4);&lt;BR /&gt; &lt;BR /&gt;close(dts, nosave);&lt;BR /&gt; &lt;BR /&gt;/*&lt;BR /&gt;	Now run every pairwise comparison of all the levels of Xfac,&lt;BR /&gt;	and append each of them in turn to Significances;&lt;BR /&gt;*/&lt;BR /&gt; &lt;BR /&gt;if(nItems(xLev) &amp;gt; 2,&lt;BR /&gt; &lt;BR /&gt;	xName = Column(dt, VarList["Xfac"]) &amp;lt;&amp;lt; get name;&lt;BR /&gt; 		&lt;BR /&gt;	for(k=1, k&amp;lt;=nItems(xLev)-1, k++,&lt;BR /&gt;		for(l=k+1, l&amp;lt;=nItems(xLev), l++,&lt;BR /&gt; &lt;BR /&gt;			dt &amp;lt;&amp;lt; select all rows;&lt;BR /&gt;			TextToParse = "dt &amp;lt;&amp;lt; select where((:" || xName || "==\!"" || xLev[k]&lt;BR /&gt;				|| "\!")|(:" || xName || "==\!"" || xLev[l] || "\!"));";&lt;BR /&gt;//			show(TextToParse);&lt;BR /&gt;			eval(parse(TextToParse));&lt;BR /&gt;			dts = dt &amp;lt;&amp;lt; subset(invisible);&lt;BR /&gt;			dts &amp;lt;&amp;lt; set name("DTS");&lt;BR /&gt;&lt;BR /&gt;			xCol = Column(dts, VarList["Xfac"]);&lt;BR /&gt; &lt;BR /&gt;			Response_List = VarList["Yvar"];&lt;BR /&gt;			yCols = {};&lt;BR /&gt;			for(i=1, i&amp;lt;=nItems(VarList["Yvar"]), i++,&lt;BR /&gt;				insert into(yCols, Column(dt, Response_List[i]))&lt;BR /&gt;				);&lt;BR /&gt;		&lt;BR /&gt;			dto = dts &amp;lt;&amp;lt; Oneway(&lt;BR /&gt;				Y( eval list( yCols ) ), X( eval( xCol ) ),&lt;BR /&gt;				Wilcoxon Test( 1 ), Box Plots( 0 ), Mean Diamonds( 0 ), invisible&lt;BR /&gt;				);&lt;BR /&gt; &lt;BR /&gt;			dtoreport = dto &amp;lt;&amp;lt; report;&lt;BR /&gt; &lt;BR /&gt;			// DTOREPORT will only be a list if there are at least two response variables;&lt;BR /&gt; &lt;BR /&gt;			if(islist(dtoreport),&lt;BR /&gt;				chisqd = dtoreport[1][NumberColBox(5)] &amp;lt;&amp;lt; MakeCombinedDataTable,&lt;BR /&gt;				chisqd = dtoreport[NumberColBox(5)]    &amp;lt;&amp;lt; MakeCombinedDataTable&lt;BR /&gt;				);&lt;BR /&gt; &lt;BR /&gt;			chisqdi = chisqd &amp;lt;&amp;lt; subset(invisible);&lt;BR /&gt;			close(chisqd, nosave);&lt;BR /&gt;			&lt;BR /&gt;			chisqdi &amp;lt;&amp;lt; delete columns({"s", "Z"});&lt;BR /&gt;			column(chisqdi, "Prob&amp;gt;|Z|") &amp;lt;&amp;lt; set name("P Value");&lt;BR /&gt;			column(chisqdi, "P Value") &amp;lt;&amp;lt; format("Fixed Dec", 20, 4);&lt;BR /&gt; 		&lt;BR /&gt;			close(dts, nosave);&lt;BR /&gt; 		&lt;BR /&gt;			chisqdi &amp;lt;&amp;lt; add multiple columns("With",    1, Before First, Character);&lt;BR /&gt;			chisqdi &amp;lt;&amp;lt; add multiple columns("Compare", 1, Before First, Character);&lt;BR /&gt; &lt;BR /&gt;			for(i=1, i&amp;lt;=nrow(chisqdi), i++,&lt;BR /&gt;				column(chisqdi, "Compare")[i] = xLev[k]; column(chisqdi, "With")[i] = xLev[l]&lt;BR /&gt;				);&lt;BR /&gt; &lt;BR /&gt;			Significances &amp;lt;&amp;lt; Concatenate( chisqdi, Append to First Table );&lt;BR /&gt;			close(chisqdi, nosave);&lt;BR /&gt;			)&lt;BR /&gt;		)	&lt;BR /&gt;	);&lt;BR /&gt; &lt;BR /&gt;// Add a column of significance codes for P &amp;lt;= 0.05 = "*", P &amp;lt;= 0.01 = "**", P &amp;lt;= 0.001="***";&lt;BR /&gt; &lt;BR /&gt;Significances &amp;lt;&amp;lt; new column("Sig", Character(10));&lt;BR /&gt;for(i=1, i&amp;lt;=nrow(Significances), i++,&lt;BR /&gt;	column(Significances, "Sig")[i] = if(column(Significances, "P Value")[i] &amp;lt;= 0.001, "***",&lt;BR /&gt;		if(column(Significances, "P Value")[i] &amp;lt;= 0.01, "**",&lt;BR /&gt;			if(column(Significances, "P Value")[i] &amp;lt;= 0.05, "*", "")&lt;BR /&gt;			)&lt;BR /&gt;		)&lt;BR /&gt;	);&lt;BR /&gt; 	&lt;BR /&gt;close(dt, nosave);&lt;BR /&gt; &lt;BR /&gt;// End of program;&lt;BR /&gt; &lt;BR /&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;edit (Save) required to reset formatting&lt;BR /&gt;&lt;BR /&gt;    &lt;BR /&gt;Message was edited by: ForumAdmin@sas</description>
      <pubDate>Sun, 19 Sep 2010 11:21:43 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/post-hoc-tests-for-nonparametric-data/m-p/2361#M2361</guid>
      <dc:creator />
      <dc:date>2010-09-19T11:21:43Z</dc:date>
    </item>
    <item>
      <title>Re: post hoc tests for nonparametric data</title>
      <link>https://community.jmp.com/t5/Discussions/post-hoc-tests-for-nonparametric-data/m-p/2362#M2362</link>
      <description>Another thought: an alternative way it &lt;I&gt;might&lt;/I&gt; be possible to tackle it would be to try to find a multiple comparison procedure calculated directly from the rank sums within the overall comparison, as opposed to essentially constructing a new set of pairwise tests from scratch, which is what I've done above.  I don't actually have a copy of the book any more, so do check me out on this first if you consider ordering a copy, but I &lt;I&gt;think&lt;/I&gt; "Nonparametric Statistical Methods" by Myles Hollander &amp;amp; Douglas A. Wolfe (http://www.amazon.com/Nonparametric-Statistical-Methods-Myles-Hollander/dp/product-description/0471190454 ) includes a number of post-hoc pairwise tests for several nonparametric procedures including the Kruskal-Wallis test - and if so, perhaps one of those could be scripted up instead.&lt;BR /&gt;&lt;BR /&gt;Regards, David</description>
      <pubDate>Sun, 19 Sep 2010 11:53:45 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/post-hoc-tests-for-nonparametric-data/m-p/2362#M2362</guid>
      <dc:creator />
      <dc:date>2010-09-19T11:53:45Z</dc:date>
    </item>
    <item>
      <title>Re: post hoc tests for nonparametric data</title>
      <link>https://community.jmp.com/t5/Discussions/post-hoc-tests-for-nonparametric-data/m-p/2363#M2363</link>
      <description>JMP 9, coming out next month, will include nonparametric multiple comparisons. These methods are, of course, nonparametric tests, and they control for the Type I rate.</description>
      <pubDate>Thu, 23 Sep 2010 13:21:07 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/post-hoc-tests-for-nonparametric-data/m-p/2363#M2363</guid>
      <dc:creator />
      <dc:date>2010-09-23T13:21:07Z</dc:date>
    </item>
  </channel>
</rss>

