2016-05-13 37 views
0

我想通過數據框的列對列表進行排序。與列表相比,數據幀的長度不相等,如果您唯一的數據幀列的長度與列表的長度相同。我的數據框是GenoMeans1,我的列表是Genodata。我想按照GenoMEANs1的順序對列表進行排序。通過這種方式,我可以做一個t.test,它對應於比較Regular和Nicotine的獨特Line,並按照手段的順序繪製。由於出版原因,我放棄了Viability。最後,你會看到期望的輸出。我已經嘗試了幾個想法,但沒有一個可行有人能幫忙嗎?我按數據框的第一列對列表排序

## you will use the dataframe labeled data ## 
GenoMEANs1<- aggregate(Viability ~ Line+Food+Group, data, mean); 
f<-factor(GenoMEANs1$Food) 
f1<-factor(GenoMEANs1$Group) 
levels(f) <- rev(levels(f)) 
evels(f) <- rev(levels(f1)) 
GenoMEANs1<-GenoMEANs1[order(GenoMEANs1$Food, as.character(f1), decreasing = TRUE), ] 

GenoMEANs1 

Line Food Group 
11m3m Regular NonCRISPR 
13f2m Regular NonCRISPR 
13f5f Regular NonCRISPR 
1f1f Regular NonCRISPR 
2f4f Regular NonCRISPR 
3m5f Regular NonCRISPR 
7f4m Regular NonCRISPR 
13f3f Regular CRISPR 
13m2m Regular CRISPR 
13m3f Regular CRISPR 
13m4m Regular CRISPR 
13m5f Regular CRISPR 
19f4f Regular CRISPR 
1f2f Regular CRISPR 
1m2f Regular CRISPR 
1m2m Regular CRISPR 
3f4f Regular CRISPR 
6f1m Regular CRISPR 
6m3m Regular CRISPR 
6m4f Regular CRISPR 
7f4f Regular CRISPR 
8f2f Regular CRISPR 
8f3m Regular CRISPR 
11m3m Nicotine NonCRISPR 
13f2m Nicotine NonCRISPR 
13f5f Nicotine NonCRISPR 
1f1f Nicotine NonCRISPR 
2f4f Nicotine NonCRISPR 
3m5f Nicotine NonCRISPR 
7f4m Nicotine NonCRISPR 
13f3f Nicotine CRISPR 
13m2m Nicotine CRISPR 
13m3f Nicotine CRISPR 
13m4m Nicotine CRISPR 
13m5f Nicotine CRISPR 
19f4f Nicotine CRISPR 
1f2f Nicotine CRISPR 
1m2f Nicotine CRISPR 
1m2m Nicotine CRISPR 
3f4f Nicotine CRISPR 
6f1m Nicotine CRISPR 
6m3m Nicotine CRISPR 
6m4f Nicotine CRISPR 
7f4f Nicotine CRISPR 
8f2f Nicotine CRISPR 
8f3m Nicotine CRISPR 

下面的列表:

genodata <- split(test, test$Line,drop=FALSE) 
genodata 
$`11m3m` 
    Line Replicate Block  Group  Food Stop_Site Input Output 
2 11m3m   1  1 NonCRISPR Nicotine   0 30  20 
48 11m3m   1  3 NonCRISPR Regular   0 30  20 
49 11m3m   1  3 NonCRISPR Nicotine   0 30  16 
74 11m3m   1  4 NonCRISPR Regular   0 30  22 
75 11m3m   2  4 NonCRISPR Regular   0 30  22 
76 11m3m   1  4 NonCRISPR Nicotine   0 30  26 
77 11m3m   2  4 NonCRISPR Nicotine   0 30  25 

$`13f2m` 
    Line Replicate Block  Group  Food Stop_Site Input Output 
4 13f2m   1  1 NonCRISPR Nicotine   0 30  20 
30 13f2m   1  2 NonCRISPR Regular   0 30  25 
31 13f2m   1  2 NonCRISPR Nicotine   0 30  25 
82 13f2m   1  4 NonCRISPR Regular   0 30  27 
83 13f2m   2  4 NonCRISPR Regular   0 30  23 
84 13f2m   1  4 NonCRISPR Nicotine   0 30  25 
85 13f2m   2  4 NonCRISPR Nicotine   0 30  25 

$`13f3f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
17 13f3f   1  1 CRISPR Nicotine   3 30  14 
62 13f3f   1  3 CRISPR Regular   3 30  19 
63 13f3f   1  3 CRISPR Nicotine   3 30  13 
142 13f3f   1  4 CRISPR Regular   3 30  22 
143 13f3f   2  4 CRISPR Regular   3 30  26 
144 13f3f   1  4 CRISPR Nicotine   3 30  12 
145 13f3f   2  4 CRISPR Nicotine   3 30  16 

$`13f5f` 
    Line Replicate Block  Group  Food Stop_Site Input Output 
6 13f5f   1  1 NonCRISPR Nicotine   0 30  17 
26 13f5f   1  2 NonCRISPR Regular   0 30  21 
27 13f5f   1  2 NonCRISPR Nicotine   0 30  20 
46 13f5f   1  3 NonCRISPR Regular   0 30  24 
47 13f5f   1  3 NonCRISPR Nicotine   0 30  20 
90 13f5f   1  4 NonCRISPR Regular   0 30  24 
91 13f5f   2  4 NonCRISPR Regular   0 30  25 
92 13f5f   1  4 NonCRISPR Nicotine   0 30  25 
93 13f5f   2  4 NonCRISPR Nicotine   0 30  25 

$`13m2m` 
    Line Replicate Block Group  Food Stop_Site Input Output 
15 13m2m   1  1 CRISPR Nicotine   2 30  14 
38 13m2m   1  2 CRISPR Regular   2 30  19 
39 13m2m   1  2 CRISPR Nicotine   2 30  4 
68 13m2m   1  3 CRISPR Regular   2 30  17 
69 13m2m   1  3 CRISPR Nicotine   2 30  11 
124 13m2m   1  4 CRISPR Regular   2 30  26 
125 13m2m   2  4 CRISPR Regular   2 30  22 
126 13m2m   1  4 CRISPR Nicotine   2 30  11 
127 13m2m   2  4 CRISPR Nicotine   2 30  15 

$`13m3f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
13 13m3f   1  1 CRISPR Nicotine   3 30  15 
136 13m3f   1  4 CRISPR Regular   3 30  24 
137 13m3f   2  4 CRISPR Regular   3 30  27 
138 13m3f   3  4 CRISPR Regular   3 30  27 
139 13m3f   1  4 CRISPR Nicotine   3 30  17 
140 13m3f   2  4 CRISPR Nicotine   3 30  12 
141 13m3f   3  4 CRISPR Nicotine   3 30  15 

$`13m4m` 
    Line Replicate Block Group  Food Stop_Site Input Output 
16 13m4m   1  1 CRISPR Nicotine   1 30  11 
106 13m4m   1  4 CRISPR Regular   1 30  29 
107 13m4m   2  4 CRISPR Regular   1 30  23 
108 13m4m   3  4 CRISPR Regular   1 30  22 
109 13m4m   1  4 CRISPR Nicotine   1 30  17 
110 13m4m   2  4 CRISPR Nicotine   1 30  17 
111 13m4m   3  4 CRISPR Nicotine   1 30  18 

$`13m5f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
22 13m5f   1  1 CRISPR Nicotine   3 30  3 
40 13m5f   1  2 CRISPR Regular   3 30  25 
41 13m5f   1  2 CRISPR Nicotine   3 30  14 
154 13m5f   1  4 CRISPR Regular   3 30  28 
155 13m5f   2  4 CRISPR Regular   3 30  26 
156 13m5f   1  4 CRISPR Nicotine   3 30  15 
157 13m5f   2  4 CRISPR Nicotine   3 30  19 

$`19f4f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
9 19f4f   1  1 CRISPR Nicotine   2 30  1 
56 19f4f   1  3 CRISPR Regular   2 30  20 
57 19f4f   1  3 CRISPR Nicotine   2 30  8 
112 19f4f   1  4 CRISPR Regular   2 30  20 
113 19f4f   2  4 CRISPR Regular   2 30  21 
114 19f4f   1  4 CRISPR Nicotine   2 30  6 
115 19f4f   2  4 CRISPR Nicotine   2 30  8 

$`1f1f` 
    Line Replicate Block  Group  Food Stop_Site Input Output 
3 1f1f   1  1 NonCRISPR Nicotine   0 30  19 
50 1f1f   1  3 NonCRISPR Regular   0 30  23 
51 1f1f   1  3 NonCRISPR Nicotine   0 30  19 
78 1f1f   1  4 NonCRISPR Regular   0 30  23 
79 1f1f   2  4 NonCRISPR Regular   0 30  25 
80 1f1f   1  4 NonCRISPR Nicotine   0 30  28 
81 1f1f   2  4 NonCRISPR Nicotine   0 30  25 

$`1f2f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
10 1f2f   1  1 CRISPR Nicotine   2 30  8 
58 1f2f   1  3 CRISPR Regular   2 30  21 
59 1f2f   1  3 CRISPR Nicotine   2 30  13 
116 1f2f   1  4 CRISPR Regular   2 30  23 
117 1f2f   2  4 CRISPR Regular   2 30  25 
118 1f2f   1  4 CRISPR Nicotine   2 30  15 
119 1f2f   2  4 CRISPR Nicotine   2 30  8 

$`1m2f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
11 1m2f   1  1 CRISPR Nicotine   2 30  6 
60 1m2f   1  3 CRISPR Regular   2 30  16 
61 1m2f   1  3 CRISPR Nicotine   2 30  8 
120 1m2f   1  4 CRISPR Regular   2 30  19 
121 1m2f   2  4 CRISPR Regular   2 30  25 
122 1m2f   1  4 CRISPR Nicotine   2 30  16 
123 1m2f   2  4 CRISPR Nicotine   2 30  17 

$`1m2m` 
    Line Replicate Block Group  Food Stop_Site Input Output 
21 1m2m   1  1 CRISPR Nicotine   3 30  15 
66 1m2m   1  3 CRISPR Regular   3 30  20 
67 1m2m   1  3 CRISPR Nicotine   3 30  9 
150 1m2m   1  4 CRISPR Regular   3 30  21 
151 1m2m   2  4 CRISPR Regular   3 30  24 
152 1m2m   1  4 CRISPR Nicotine   3 30  10 
153 1m2m   2  4 CRISPR Nicotine   3 30  9 

$`2f4f` 
    Line Replicate Block  Group  Food Stop_Site Input Output 
7 2f4f   1  1 NonCRISPR Nicotine   0 30  18 
24 2f4f   1  2 NonCRISPR Regular   0 30  23 
25 2f4f   1  2 NonCRISPR Nicotine   0 30  19 
94 2f4f   1  4 NonCRISPR Regular   0 30  22 
95 2f4f   2  4 NonCRISPR Regular   0 30  23 
96 2f4f   1  4 NonCRISPR Nicotine   0 30  26 
97 2f4f   2  4 NonCRISPR Nicotine   0 30  25 

$`3f4f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
18 3f4f   1  1 CRISPR Nicotine   3 30  7 
64 3f4f   1  3 CRISPR Regular   3 30  23 
65 3f4f   1  3 CRISPR Nicotine   3 30  5 
146 3f4f   1  4 CRISPR Regular   3 30  27 
147 3f4f   2  4 CRISPR Regular   3 30  25 
148 3f4f   1  4 CRISPR Nicotine   3 30  11 
149 3f4f   2  4 CRISPR Nicotine   3 30  6 

$`3m5f` 
    Line Replicate Block  Group  Food Stop_Site Input Output 
1 3m5f   1  1 NonCRISPR Nicotine   0 30  21 
44 3m5f   1  3 NonCRISPR Regular   0 30  24 
45 3m5f   1  3 NonCRISPR Nicotine   0 30  21 
70 3m5f   1  4 NonCRISPR Regular   0 30  19 
71 3m5f   2  4 NonCRISPR Regular   0 30  20 
72 3m5f   1  4 NonCRISPR Nicotine   0 30  19 
73 3m5f   2  4 NonCRISPR Nicotine   0 30  20 

$`6f1m` 
    Line Replicate Block Group  Food Stop_Site Input Output 
20 6f1m   1  1 CRISPR Nicotine   1 30  7 
52 6f1m   1  3 CRISPR Regular   1 30  21 
53 6f1m   1  3 CRISPR Nicotine   1 30  4 
102 6f1m   1  4 CRISPR Regular   1 30  23 
103 6f1m   2  4 CRISPR Regular   1 30  26 
104 6f1m   1  4 CRISPR Nicotine   1 30  10 
105 6f1m   2  4 CRISPR Nicotine   1 30  10 

$`6m3m` 
    Line Replicate Block Group  Food Stop_Site Input Output 
14 6m3m   1  1 CRISPR Nicotine   1 30  17 
42 6m3m   1  2 CRISPR Regular   1 30  23 
43 6m3m   1  2 CRISPR Nicotine   1 30  13 
98 6m3m   1  4 CRISPR Regular   1 30  24 
99 6m3m   2  4 CRISPR Regular   1 30  24 
100 6m3m   1  4 CRISPR Nicotine   1 30  17 
101 6m3m   2  4 CRISPR Nicotine   1 30  17 

$`6m4f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
8 6m4f   1  1 CRISPR Nicotine   4 30  14 
54 6m4f   1  3 CRISPR Regular   4 30  16 
55 6m4f   1  3 CRISPR Nicotine   4 30  13 
162 6m4f   1  4 CRISPR Regular   4 30  26 
163 6m4f   2  4 CRISPR Regular   4 30  24 
164 6m4f   1  4 CRISPR Nicotine   4 30  11 
165 6m4f   2  4 CRISPR Nicotine   4 30  10 

$`7f4f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
23 7f4f   1  1 CRISPR Nicotine   3 30  4 
36 7f4f   1  2 CRISPR Regular   3 30  20 
37 7f4f   1  2 CRISPR Nicotine   3 30  4 
158 7f4f   1  4 CRISPR Regular   3 30  21 
159 7f4f   2  4 CRISPR Regular   3 30  28 
160 7f4f   1  4 CRISPR Nicotine   3 30  14 
161 7f4f   2  4 CRISPR Nicotine   3 30  12 

$`7f4m` 
    Line Replicate Block  Group  Food Stop_Site Input Output 
5 7f4m   1  1 NonCRISPR Nicotine   0 30  17 
28 7f4m   1  2 NonCRISPR Regular   0 30  23 
29 7f4m   1  2 NonCRISPR Nicotine   0 30  19 
86 7f4m   1  4 NonCRISPR Regular   0 30  20 
87 7f4m   2  4 NonCRISPR Regular   0 30  27 
88 7f4m   1  4 NonCRISPR Nicotine   0 30  22 
89 7f4m   2  4 NonCRISPR Nicotine   0 30  24 

$`8f2f` 
    Line Replicate Block Group  Food Stop_Site Input Output 
19 8f2f   1  1 CRISPR Nicotine   2 30  7 
32 8f2f   1  2 CRISPR Regular   2 30  18 
33 8f2f   1  2 CRISPR Nicotine   2 30  1 
128 8f2f   1  4 CRISPR Regular   2 30  20 
129 8f2f   2  4 CRISPR Regular   2 30  20 
130 8f2f   1  4 CRISPR Nicotine   2 30  5 
131 8f2f   2  4 CRISPR Nicotine   2 30  7 

$`8f3m` 
    Line Replicate Block Group  Food Stop_Site Input Output 
12 8f3m   1  1 CRISPR Nicotine   3 30  12 
34 8f3m   1  2 CRISPR Regular   3 30  27 
35 8f3m   1  2 CRISPR Nicotine   3 30  5 
132 8f3m   1  4 CRISPR Regular   3 30  26 
133 8f3m   2  4 CRISPR Regular   3 30  24 
134 8f3m   1  4 CRISPR Nicotine   3 30  9 
135 8f3m   2  4 CRISPR Nicotine   3 30  14 

預計輸出

$`11m3m` 
     Line Replicate Block  Group  Food Stop_Site Input Output 
    2 11m3m   1  1 NonCRISPR Nicotine   0 30  20 
    48 11m3m   1  3 NonCRISPR Regular   0 30  20 
    49 11m3m   1  3 NonCRISPR Nicotine   0 30  16 
    74 11m3m   1  4 NonCRISPR Regular   0 30  22 
    75 11m3m   2  4 NonCRISPR Regular   0 30  22 
    76 11m3m   1  4 NonCRISPR Nicotine   0 30  26 
    77 11m3m   2  4 NonCRISPR Nicotine   0 30  25 

    $`13f2m` 
     Line Replicate Block  Group  Food Stop_Site Input Output 
    4 13f2m   1  1 NonCRISPR Nicotine   0 30  20 
    30 13f2m   1  2 NonCRISPR Regular   0 30  25 
    31 13f2m   1  2 NonCRISPR Nicotine   0 30  25 
    82 13f2m   1  4 NonCRISPR Regular   0 30  27 
    83 13f2m   2  4 NonCRISPR Regular   0 30  23 
    84 13f2m   1  4 NonCRISPR Nicotine   0 30  25 
    85 13f2m   2  4 NonCRISPR Nicotine   0 30  25 

$`13f5f` 
     Line Replicate Block  Group  Food Stop_Site Input Output 
    6 13f5f   1  1 NonCRISPR Nicotine   0 30  17 
    26 13f5f   1  2 NonCRISPR Regular   0 30  21 
    27 13f5f   1  2 NonCRISPR Nicotine   0 30  20 
    46 13f5f   1  3 NonCRISPR Regular   0 30  24 
    47 13f5f   1  3 NonCRISPR Nicotine   0 30  20 
    90 13f5f   1  4 NonCRISPR Regular   0 30  24 
    91 13f5f   2  4 NonCRISPR Regular   0 30  25 
    92 13f5f   1  4 NonCRISPR Nicotine   0 30  25 
    93 13f5f   2  4 NonCRISPR Nicotine   0 30  25 

$`1f1f` 
     Line Replicate Block  Group  Food Stop_Site Input Output 
    3 1f1f   1  1 NonCRISPR Nicotine   0 30  19 
    50 1f1f   1  3 NonCRISPR Regular   0 30  23 
    51 1f1f   1  3 NonCRISPR Nicotine   0 30  19 
    78 1f1f   1  4 NonCRISPR Regular   0 30  23 
    79 1f1f   2  4 NonCRISPR Regular   0 30  25 
    80 1f1f   1  4 NonCRISPR Nicotine   0 30  28 
    81 1f1f   2  4 NonCRISPR Nicotine   0 30  25 

回答

2

類似下面應該工作,雖然我不能沒有樣本數據驗證:

# get the correct order 
sortedData <- unique(GenoMEANs1$Line) 

# apply order to list 
genodata <- genodata[sortedData] 

下面是一個玩具的例子t o顯示這個作品與奇怪名稱列表項(反引號):

temp <- list(`13f2m`=1:10, `11m3m`=rnorm(10)) 
temp[sort(names(temp))] 
+0

嗨lmo,這是如此簡單。我不相信我沒有這樣想過。歡呼我的朋友。 – Genetics