X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=kruskalwalliscommand.h;h=feefebd58fdb5650f41e9642a63e6dc68d011a24;hb=1a968f34ae2d2680eaf189a197d1a21b8dfd6c03;hp=003ea91c37fa29eb5f46825f12f898a6b842ad55;hpb=f954b4d65ce86218f9f7262737f36d1e7faf58d6;p=mothur.git diff --git a/kruskalwalliscommand.h b/kruskalwalliscommand.h index 003ea91..feefebd 100644 --- a/kruskalwalliscommand.h +++ b/kruskalwalliscommand.h @@ -9,12 +9,9 @@ #define KRUSKALWALLISCOMMAND_H #include "command.hpp" +#include "inputdata.h" +#include "sharedrabundvector.h" - struct groupRank { - sstring group; - double value; - double rank; - }; class KruskalWallisCommand : public Command { @@ -27,28 +24,39 @@ public: vector setParameters(); string getCommandName() { return "kruskalwallis"; } string getCommandCategory() { return "Hypothesis Testing"; } - string getOutputFileNameTag(string, string); + string getOutputPattern(string); string getHelpString(); string getCitation() { return "http://www.mothur.org/wiki/kruskalwallis"; } string getDescription() { return "Non-parametric method for testing whether samples originate from the same distribution."; } + struct groupRank { + string group; + double value; + double rank; + }; + int execute(); void help() { m->mothurOut(getHelpString()); } - void assignRank(vector); + void assignRank(vector&); + void assignValue(vector&); + private: - string outputDir; + string outputDir, sharedfile, groups; + bool abort; + set labels; + vector outputNames, Groups; vector counts; vector rankSums; vector rankMeans; - bool comparevalue(const groupRank &a, const groupRank &b) { return a.value < b.value; } - bool equalvalue(const groupRank &a, const groupRank &b) { return a.value == b.value; } - bool comparerank(const groupRank &a, const groupRank &b) { return a.rank < b.rank; } - bool equalrank(const groupRank &a, const groupRank &b) { return a.rank == b.rank; } - bool equalgroup(const groupRank &a, const groupRank &b) { return a.group == b.group; } + static bool comparevalue(const groupRank &a, const groupRank &b) { return a.value < b.value; } + static bool equalvalue(const groupRank &a, const groupRank &b) { return a.value == b.value; } + static bool comparerank(const groupRank &a, const groupRank &b) { return a.rank < b.rank; } + static bool equalrank(const groupRank &a, const groupRank &b) { return a.rank == b.rank; } + static bool equalgroup(const groupRank &a, const groupRank &b) { return a.group == b.group; } };