William Armstrong
2011-Jun-07 13:51 UTC
[R] Sorting a data frame with values of different lengths
Hi all, I am attempting to run a script in which I permute my data and run a Wilcoxon rank sum test on the data 1000 times and compare my original test statistic to the permuted test statistics to more accurately estimate a significance level for the trends I am observing. In the process of doing this, I need to sort a data frame that measures 3 x 1001 based on the value of the test statistic (W). I am trying to get the data in ascending order based on W. My data frame looks something like this:> W_tablepds_gagehandles.i. p W W mibe 1 746 2 mibe 2 870.5 3 mibe 3 767 4 mibe 4 1066 5 mibe 5 885 6 mibe 6 931.5 7 mibe 7 765 8 mibe 8 930 9 mibe 9 696.5 10 mibe 10 711.5 11 mibe 11 1006 I am trying to sort it using the command: > W_table[order(W_table$W),], which is spitting out: pds_gagehandles.i. p W 11 mibe 11 1006 4 mibe 4 1066 9 mibe 9 696.5 10 mibe 10 711.5 W mibe 1 746 7 mibe 7 765 3 mibe 3 767 2 mibe 2 870.5 5 mibe 5 885 8 mibe 8 930 6 mibe 6 931.5 I want this data frame to have the values that are currently the first two as the last two, i.e. I need it in ascending order. I am thinking that I am having this problem because W is different lengths and ?order states the data should be "a sequence of numeric, complex, character or logical vectors, all of the same length, or a classed R object". Maybe because the values over 1000 have an extra digit R is seeing them as '100' for some reason? Does anyone know of another function I can use to accomplish this task or a way to work around this error? Thank you very much, Billy -- View this message in context: http://r.789695.n4.nabble.com/Sorting-a-data-frame-with-values-of-different-lengths-tp3579653p3579653.html Sent from the R help mailing list archive at Nabble.com.
Sarah Goslee
2011-Jun-07 13:54 UTC
[R] Sorting a data frame with values of different lengths
Hi, It looks to me that your data frame is being sorted as text. What does str(W_table) show? How was W_table created? Your W column appears to not be numeric. Sarah On Tue, Jun 7, 2011 at 9:51 AM, William Armstrong <William.Armstrong at noaa.gov> wrote:> Hi all, > > I am attempting to run a script in which I permute my data and run a > Wilcoxon rank sum test on the data 1000 times and compare my original test > statistic to the permuted test statistics to more accurately estimate a > significance level for the trends I am observing. > > In the process of doing this, I need to sort a data frame that measures 3 x > 1001 based on the value of the test statistic (W). ?I am trying to get the > data in ascending order based on W. ?My data frame looks something like > this: > >> W_table > ? pds_gagehandles.i. ?p ? ? W > W ? ? ? ? ? ? ? ?mibe ?1 ? 746 > 2 ? ? ? ? ? ? ? ?mibe ?2 870.5 > 3 ? ? ? ? ? ? ? ?mibe ?3 ? 767 > 4 ? ? ? ? ? ? ? ?mibe ?4 ?1066 > 5 ? ? ? ? ? ? ? ?mibe ?5 ? 885 > 6 ? ? ? ? ? ? ? ?mibe ?6 931.5 > 7 ? ? ? ? ? ? ? ?mibe ?7 ? 765 > 8 ? ? ? ? ? ? ? ?mibe ?8 ? 930 > 9 ? ? ? ? ? ? ? ?mibe ?9 696.5 > 10 ? ? ? ? ? ? ? mibe 10 711.5 > 11 ? ? ? ? ? ? ? mibe 11 ?1006 > > I am trying to sort it using the command: > W_table[order(W_table$W),], > which is spitting out: > > ? pds_gagehandles.i. ?p ? ? W > 11 ? ? ? ? ? ? ? mibe 11 ?1006 > 4 ? ? ? ? ? ? ? ?mibe ?4 ?1066 > 9 ? ? ? ? ? ? ? ?mibe ?9 696.5 > 10 ? ? ? ? ? ? ? mibe 10 711.5 > W ? ? ? ? ? ? ? ?mibe ?1 ? 746 > 7 ? ? ? ? ? ? ? ?mibe ?7 ? 765 > 3 ? ? ? ? ? ? ? ?mibe ?3 ? 767 > 2 ? ? ? ? ? ? ? ?mibe ?2 870.5 > 5 ? ? ? ? ? ? ? ?mibe ?5 ? 885 > 8 ? ? ? ? ? ? ? ?mibe ?8 ? 930 > 6 ? ? ? ? ? ? ? ?mibe ?6 931.5 > > I want this data frame to have the values that are currently the first two > as the last two, i.e. I need it in ascending order. ?I am thinking that I am > having this problem because W is different lengths and ?order states the > data should be "a sequence of numeric, complex, character or logical > vectors, all of the same length, or a classed R object". ?Maybe because the > values over 1000 have an extra digit R is seeing them as '100' for some > reason? Does anyone know of another function I can use to accomplish this > task or a way to work around this error? > > Thank you very much, > > Billy > > ---- Sarah Goslee http://www.functionaldiversity.org