如何按以下顺序对作为两行标签的变量(对(进行排序:
Pair<-c("CA.F - BK.Fn(P-value=0.00)", "CA.M - BK.Mn(P-value=0.00)",
"EA.F - BK.Fn(P-value=0.41)", "EA.F - CA.Fn(P-value=0.00)",
"EA.M - BK.Mn(P-value=0.32)", "EA.M - CA.Mn(P-value=0.33)",
"SA.F - BK.Fn(P-value=0.08)", "SA.F - CA.Fn(P-value=0.00)",
"SA.F - EA.Fn(P-value=0.99)", "SA.M - BK.Mn(P-value=0.95)",
"SA.M - CA.Mn(P-value=0.01)", "SA.M - EA.Mn(P-value=0.94)")
lwr<-c(2,3,4,5,6,7,8,9,11,13,14,16)
upr<-c(5,6,7,8,10,12,14,14,13,14,15,15)
Final<-data.frame(Pair,lwr,upr)
我想以这种格式对变量(对(进行排序,并将其作为新变量添加到数据集中:
c("SA.M - EA.M","SA.M - CA.M","EA.M - CA.M","SA.M - BK.M",
"EA.M - BK.M","CA.M - BK.M","SA.F - EA.F","SA.F - CA.F",
"EA.F - CA.F","SA.F - BK.F","EA.F - BK.F","CA.F - BK.F")
我假设您要根据第二个向量中的标签对Pair
进行重新排序。如果是这样,那么您可以执行以下操作:
数据:
Pair<-c("CA.F - BK.Fn(P-value=0.00)", "CA.M - BK.Mn(P-value=0.00)",
"EA.F - BK.Fn(P-value=0.41)", "EA.F - CA.Fn(P-value=0.00)",
"EA.M - BK.Mn(P-value=0.32)", "EA.M - CA.Mn(P-value=0.33)",
"SA.F - BK.Fn(P-value=0.08)", "SA.F - CA.Fn(P-value=0.00)",
"SA.F - EA.Fn(P-value=0.99)", "SA.M - BK.Mn(P-value=0.95)",
"SA.M - CA.Mn(P-value=0.01)", "SA.M - EA.Mn(P-value=0.94)")
customOrder = c("SA.M - EA.M","SA.M - CA.M","EA.M - CA.M","SA.M - BK.M",
"EA.M - BK.M","CA.M - BK.M","SA.F - EA.F","SA.F - CA.F",
"EA.F - CA.F","SA.F - BK.F","EA.F - BK.F","CA.F - BK.F")
矢量customOrder
是您想要如何订购Pair
做:
ordered = sapply(customOrder, function(x){grep(x,Pair)})
结果:
lwr<-c(2,3,4,5,6,7,8,9,11,13,14,16)
upr<-c(5,6,7,8,10,12,14,14,13,14,15,15)
Final<-data.frame(Pair,lwr,upr)
Final[ordered,]
Pair lwr upr
12 SA.M - EA.Mn(P-value=0.94) 16 15
11 SA.M - CA.Mn(P-value=0.01) 14 15
6 EA.M - CA.Mn(P-value=0.33) 7 12
10 SA.M - BK.Mn(P-value=0.95) 13 14
5 EA.M - BK.Mn(P-value=0.32) 6 10
2 CA.M - BK.Mn(P-value=0.00) 3 6
9 SA.F - EA.Fn(P-value=0.99) 11 13
8 SA.F - CA.Fn(P-value=0.00) 9 14
4 EA.F - CA.Fn(P-value=0.00) 5 8
7 SA.F - BK.Fn(P-value=0.08) 8 14
3 EA.F - BK.Fn(P-value=0.41) 4 7
1 CA.F - BK.Fn(P-value=0.00) 2 5