R 如何根据因子级别对数据框的行进行排序
我有一个数据框R 如何根据因子级别对数据框的行进行排序,r,R,我有一个数据框 V1 V2 V3 V4 V5 V6 1 1-TPN21 2 A P <NA> <NA> 2 8NAPK1 1 P <NA> <NA> <NA> 3 ADR1 1 P <NA> <NA> <NA> 4 CCL5 1 P <NA> <NA> <NA> 5 CPHB3 1 P
V1 V2 V3 V4 V5 V6
1 1-TPN21 2 A P <NA> <NA>
2 8NAPK1 1 P <NA> <NA> <NA>
3 ADR1 1 P <NA> <NA> <NA>
4 CCL5 1 P <NA> <NA> <NA>
5 CPHB3 1 P <NA> <NA> <NA>
6 DFC2 1 P <NA> <NA> <NA>
7 dHRA 3 M A P <NA>
8 DSPA6 2 P P <NA> <NA>
9 DUCA1A 1 A <NA> <NA> <NA>
10 NDAM32 4 A P P P
11 NFDC2 1 M <NA> <NA> <NA>
12 ZDBA7 1 P <NA> <NA> <NA>
我想按照p,A,M的顺序对它进行排序,不包括前两列。预期结果是
V1 V2 V3 V4 V5 V6
1 1-TPN21 2 P A <NA> <NA>
2 8NAPK1 1 P <NA> <NA> <NA>
3 ADR1 1 P <NA> <NA> <NA>
4 CCL5 1 P <NA> <NA> <NA>
5 CPHB3 1 P <NA> <NA> <NA>
6 DFC2 1 P <NA> <NA> <NA>
7 dHRA 3 P A M <NA>
8 DSPA6 2 P P <NA> <NA>
9 DUCA1A 1 A <NA> <NA> <NA>
10 NDAM32 4 P P P A
11 NFDC2 1 M <NA> <NA> <NA>
12 ZDBA7 1 P <NA> <NA> <NA>
有人能帮我吗。谢谢,您可以尝试使用边距=1申请按行订购
df1[-(1:2)] <- t(apply(df1[-(1:2)], 1, function(x)
x[order(factor(x, levels=c('P', 'A', 'M')))]))
df1
# V1 V2 V3 V4 V5 V6
#1 1-TPN21 2 P A <NA> <NA>
#2 8NAPK1 1 P <NA> <NA> <NA>
#3 ADR1 1 P <NA> <NA> <NA>
#4 CCL5 1 P <NA> <NA> <NA>
#5 CPHB3 1 P <NA> <NA> <NA>
#6 DFC2 1 P <NA> <NA> <NA>
#7 dHRA 3 P A M <NA>
#8 DSPA6 2 P P <NA> <NA>
#9 DUCA1A 1 A <NA> <NA> <NA>
#10 NDAM32 4 P P P A
#11 NFDC2 1 M <NA> <NA> <NA>
#12 ZDBA7 1 P <NA> <NA> <NA>
@我不这么认为。我错过了什么吗?@akrun你说得对。谢谢