Hi Mao, >> I am confused. And, I want to know how to assign a wanted order to factor >> levels, intentionally?
You want ?relevel. Although the documentation leads one to think that it can only be used to set a reference level, with the other levels being moved down, presently it can in fact be used to set any order you wish. For a factor with just a few levels you could simply use an index into the default order. ## new_d <- d c(5,1,6:10,2:4) new_d$population <- relevel(d$population, levels(d$population)[c(5,1,6:10,2:4)]) Ignore the warning. Note that relevel can also be used "on-the-fly," so without permanently changing level-order. Regards, Mark. Mao Jianfeng wrote: > > Dear R-helpers, > > I want to make a series of boxplots on several numeric univariates with > two > group variables (species and population, population nested in species, and > with population as the X-axis). In order to get a proper order of the > individual populations in X-axis, I need to assign a wanted order to the > factor (population). I used the levels() function to do this assignment, > but > it seemed levels() function not only changed the levels of the factor, but > also the correlations of the factor and the numeric variables. > > I am confused. And, I want to know how to assign a wanted order to factor > levels, intentionally? I think assignment is also indispensible for others > who are do data analysing using R. Can you help me? > > Thank you a lot in advance. > > Best regards, > Mao J-F > > data, code, and results I used and got are as followed: > (You can find that the correlations of the factor and the numeric > variables > changed, before and after the levels() was performed.) > > >> d<-read.delim("All.txt",header=T) >> d > species population conlen tscale fscale tseen w100s nfsee > 1 Py YXPy01 8.60 153 69 111 1.680851 94 > 2 Py YXPy01 8.10 173 74 139 1.848485 133 > 3 Py YLPy01 6.50 138 58 99 1.520833 48 > 4 Py YLPy01 5.90 153 67 118 1.355140 107 > 5 Py KMPy01 6.10 113 48 75 1.470588 51 > 6 Py KMPy01 5.10 129 54 100 1.176471 68 > 7 Py KMPy01 3.90 109 37 30 1.500000 22 > 8 Py KMPy01 5.00 128 55 71 1.468750 64 > 9 Py KMPy01 4.70 132 54 32 1.500000 28 > 10 Py KMPy01 5.80 113 52 65 1.136364 45 > 11 Py KMPy01 4.70 114 42 71 1.131148 61 > 12 Py KMPy01 5.00 120 77 131 1.403361 119 > 13 Py GSPy02 6.20 152 59 102 1.348837 43 > 14 Py GSPy02 6.20 111 41 64 2.805556 36 > 15 Py GSPy02 6.70 130 56 67 1.757576 33 > 16 Py GSPy02 6.60 115 47 78 1.603175 63 > 17 Py GSPy02 8.90 137 61 102 1.767677 99 > 18 Py GSPy02 6.20 157 68 115 1.459016 61 > 19 Py BCPy01 5.30 91 39 24 1.263158 19 > 20 Py BCPy01 6.10 100 46 53 1.117647 17 > 21 Py BCPy01 4.50 81 32 46 1.320000 25 > 22 Py LJPy01 6.60 170 65 72 2.035714 56 > 23 Py LJPy01 6.90 104 46 58 1.800000 55 > 24 Py LJPy01 8.60 161 66 38 1.794118 34 > 25 Py LJPy01 5.40 123 40 22 2.428571 21 > 26 Py LJPy01 6.80 123 54 57 2.044444 46 > 27 Py LJPy01 8.60 166 77 77 1.847458 59 > 28 Py LJPy01 6.00 132 51 91 1.119048 84 > 29 Py LJPy01 6.80 108 45 27 1.814815 27 > 30 Py LJPy01 6.20 115 48 70 1.765957 47 > 31 Py LJPy01 8.00 168 80 132 2.036364 111 > 32 Pd CYPd01 6.70 138 57 23 1.555556 9 > 33 Pd CYPd01 6.80 121 46 53 1.973684 38 > 34 Pd CYPd01 5.90 114 52 60 1.250000 12 > 35 Pd CYPd01 5.20 119 53 53 1.432432 37 > 36 Pd CYPd01 7.60 118 46 63 2.000000 23 > 37 Pd CYPd01 6.10 144 61 24 1.428571 14 > 38 Pd CYPd01 5.50 130 46 62 1.320000 54 > 39 Pd CYPd01 6.60 153 57 83 1.558442 77 > 40 Pd CYPd02 5.90 111 32 51 1.300000 10 > 41 Pd CYPd02 7.10 121 51 80 1.451613 31 > 42 Pd CYPd02 7.30 150 68 127 1.681416 113 > 43 Pd CYPd02 5.60 121 38 64 1.228571 36 > 44 Pd CYPd02 7.20 140 62 88 1.585366 41 > 45 Pd CYPd02 6.10 113 54 91 1.256757 74 > 46 Pd CYPd03 4.60 109 45 57 1.093750 32 > 47 Pd CYPd03 4.90 115 44 45 1.235294 17 > 48 Pd CYPd03 6.40 134 44 64 1.209302 45 > 49 Pd CYPd03 4.60 96 42 41 1.150000 21 > 50 Pd CYPd03 5.60 131 43 45 1.771429 35 > 51 Pd CYPd03 6.10 124 48 59 1.578947 38 > 52 Pd CYPd03 5.20 110 57 71 1.340426 47 > 53 Pd CYPd03 5.50 118 57 83 1.625000 48 > 54 Pd CYPd03 6.10 106 61 95 1.559322 60 > 55 Pd CYPd03 6.20 121 64 100 1.707692 65 > 56 Pd CYPd03 5.10 99 38 28 1.430000 20 > 57 Pd CYPd03 5.10 132 45 47 1.791667 24 > 58 Pd YLPd01 6.15 120 43 46 1.446000 21 > 59 Pt BXPd01 4.60 64 18 23 2.166667 18 > 60 Pt BXPd01 5.10 87 26 38 2.250000 32 > 61 Pt BXPd01 4.80 89 27 50 2.130435 46 > 62 Pt BXPd01 6.00 97 29 31 2.684211 19 > 63 Pt BXPd01 5.20 98 32 54 2.292683 41 > 64 Pt GYPt01 4.30 98 27 8 4.000000 5 > 65 Pt GYPt01 4.00 82 27 51 2.781250 32 > 66 Pt GYPt01 5.00 106 35 8 4.333333 6 > 67 Pt GYPt01 5.10 86 24 25 3.375000 16 > 68 Pt GYPt01 4.60 79 25 21 2.631579 19 > 69 Pt GYPt01 5.00 80 30 23 2.823529 17 > 70 Pt NSPt01 5.30 107 27 37 2.850000 33 > 71 Pt NSPt01 5.40 85 26 38 2.270000 32 > 72 Pt NSPt01 5.40 102 31 50 5.320000 40 > 73 Pt NSPt01 5.10 84 23 29 5.320000 23 > 74 Pt NSPt01 NA NA NA NA NA NA > 75 Pt NSPt01 4.10 57 17 24 2.700000 18 >> levels(d$population) > [1] "BCPy01" "BXPd01" "CYPd01" "CYPd02" "CYPd03" "GSPy02" "GYPt01" > "KMPy01" > "LJPy01" "NSPt01" > [11] "YLPd01" "YLPy01" "YXPy01" >> levels(d$population)<-c("YXPy01", "KMPy01", "YLPy01", "GSPy02", "BCPy01", > "LJPy01", "GYPt01", "YLPd01", "CYPd01", "CYPd02", "CYPd03", "BXPd01", > "NSPt01") >> levels(d$population) > [1] "YXPy01" "KMPy01" "YLPy01" "GSPy02" "BCPy01" "LJPy01" "GYPt01" > "YLPd01" > "CYPd01" "CYPd02" > [11] "CYPd03" "BXPd01" "NSPt01" >> d > species population conlen tscale fscale tseen w100s nfsee > 1 Pt NSPt01 8.60 153 69 111 1.680851 94 > 2 Pt NSPt01 8.10 173 74 139 1.848485 133 > 3 Pt BXPd01 6.50 138 58 99 1.520833 48 > 4 Pt BXPd01 5.90 153 67 118 1.355140 107 > 5 Pt YLPd01 6.10 113 48 75 1.470588 51 > 6 Pt YLPd01 5.10 129 54 100 1.176471 68 > 7 Pt YLPd01 3.90 109 37 30 1.500000 22 > 8 Pt YLPd01 5.00 128 55 71 1.468750 64 > 9 Pt YLPd01 4.70 132 54 32 1.500000 28 > 10 Pt YLPd01 5.80 113 52 65 1.136364 45 > 11 Pt YLPd01 4.70 114 42 71 1.131148 61 > 12 Pt YLPd01 5.00 120 77 131 1.403361 119 > 13 Pt LJPy01 6.20 152 59 102 1.348837 43 > 14 Pt LJPy01 6.20 111 41 64 2.805556 36 > 15 Pt LJPy01 6.70 130 56 67 1.757576 33 > 16 Pt LJPy01 6.60 115 47 78 1.603175 63 > 17 Pt LJPy01 8.90 137 61 102 1.767677 99 > 18 Pt LJPy01 6.20 157 68 115 1.459016 61 > 19 Pt YXPy01 5.30 91 39 24 1.263158 19 > 20 Pt YXPy01 6.10 100 46 53 1.117647 17 > 21 Pt YXPy01 4.50 81 32 46 1.320000 25 > 22 Pt CYPd01 6.60 170 65 72 2.035714 56 > 23 Pt CYPd01 6.90 104 46 58 1.800000 55 > 24 Pt CYPd01 8.60 161 66 38 1.794118 34 > 25 Pt CYPd01 5.40 123 40 22 2.428571 21 > 26 Pt CYPd01 6.80 123 54 57 2.044444 46 > 27 Pt CYPd01 8.60 166 77 77 1.847458 59 > 28 Pt CYPd01 6.00 132 51 91 1.119048 84 > 29 Pt CYPd01 6.80 108 45 27 1.814815 27 > 30 Pt CYPd01 6.20 115 48 70 1.765957 47 > 31 Pt CYPd01 8.00 168 80 132 2.036364 111 > 32 Py YLPy01 6.70 138 57 23 1.555556 9 > 33 Py YLPy01 6.80 121 46 53 1.973684 38 > 34 Py YLPy01 5.90 114 52 60 1.250000 12 > 35 Py YLPy01 5.20 119 53 53 1.432432 37 > 36 Py YLPy01 7.60 118 46 63 2.000000 23 > 37 Py YLPy01 6.10 144 61 24 1.428571 14 > 38 Py YLPy01 5.50 130 46 62 1.320000 54 > 39 Py YLPy01 6.60 153 57 83 1.558442 77 > 40 Py GSPy02 5.90 111 32 51 1.300000 10 > 41 Py GSPy02 7.10 121 51 80 1.451613 31 > 42 Py GSPy02 7.30 150 68 127 1.681416 113 > 43 Py GSPy02 5.60 121 38 64 1.228571 36 > 44 Py GSPy02 7.20 140 62 88 1.585366 41 > 45 Py GSPy02 6.10 113 54 91 1.256757 74 > 46 Py BCPy01 4.60 109 45 57 1.093750 32 > 47 Py BCPy01 4.90 115 44 45 1.235294 17 > 48 Py BCPy01 6.40 134 44 64 1.209302 45 > 49 Py BCPy01 4.60 96 42 41 1.150000 21 > 50 Py BCPy01 5.60 131 43 45 1.771429 35 > 51 Py BCPy01 6.10 124 48 59 1.578947 38 > 52 Py BCPy01 5.20 110 57 71 1.340426 47 > 53 Py BCPy01 5.50 118 57 83 1.625000 48 > 54 Py BCPy01 6.10 106 61 95 1.559322 60 > 55 Py BCPy01 6.20 121 64 100 1.707692 65 > 56 Py BCPy01 5.10 99 38 28 1.430000 20 > 57 Py BCPy01 5.10 132 45 47 1.791667 24 > 58 Py CYPd03 6.15 120 43 46 1.446000 21 > 59 Pd KMPy01 4.60 64 18 23 2.166667 18 > 60 Pd KMPy01 5.10 87 26 38 2.250000 32 > 61 Pd KMPy01 4.80 89 27 50 2.130435 46 > 62 Pd KMPy01 6.00 97 29 31 2.684211 19 > 63 Pd KMPy01 5.20 98 32 54 2.292683 41 > 64 Pd GYPt01 4.30 98 27 8 4.000000 5 > 65 Pd GYPt01 4.00 82 27 51 2.781250 32 > 66 Pd GYPt01 5.00 106 35 8 4.333333 6 > 67 Pd GYPt01 5.10 86 24 25 3.375000 16 > 68 Pd GYPt01 4.60 79 25 21 2.631579 19 > 69 Pd GYPt01 5.00 80 30 23 2.823529 17 > 70 Pd CYPd02 5.30 107 27 37 2.850000 33 > 71 Pd CYPd02 5.40 85 26 38 2.270000 32 > 72 Pd CYPd02 5.40 102 31 50 5.320000 40 > 73 Pd CYPd02 5.10 84 23 29 5.320000 23 > 74 Pd CYPd02 NA NA NA NA NA NA > 75 Pd CYPd02 4.10 57 17 24 2.700000 18 > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > -- View this message in context: http://www.nabble.com/confusion-on-levels%28%29-function%2C-and-how-to-assign-a-wanted-order-to-%09factor-levels%2C-intentionally--tp24048978p24050425.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.