如何手动重新排序此 R 格条形图?

How to reorder this R lattice barchart manually?

我按 factor(...) 明确排序的代码,但在 Rplots.pdf

中未观察到其效果
# data
#  

summary(datm)

datm$male.Nij <- factor(datm$male.Nij, c("Sinus", "Arr/AHB", "Digoxin arr", "Furosemide arr"))

summary(datm)

# 
library(lattice)
lvs = unique(dat$male.Nij) # TODO maybe here something?  
barchart(variable ~ value|group + factor(male.Nij, levels=lvs), 
  groups=gender, 
  data=datm, 
  auto.key=list(space='right')
)

datm$male.Nij <- factor(...) 后输出正确,但打印到 Rplots.pdf 仍显示原始顺序

          male.Nij     gender             group              variable 
 Arr/AHB       :32   Length:128         Length:128         N11    :16  
 Digoxin arr   :32   Class :character   Class :character   N22    :16  
 Furosemide arr:32   Mode  :character   Mode  :character   N33    :16  
 Sinus         :32                                         N44    :16  
                                                           N21    :16  
                                                           N31    :16  
                                                           (Other):32 
           male.Nij 
 Sinus         :32   
 Arr/AHB       :32   
 Digoxin arr   :32   
 Furosemide arr:32  

正在测试 user20650 的提议

代码

summary(datm)

barchart(variable ~ value|group + male.Nij, 
  groups=gender, 
  data=datm, 
  auto.key=list(space='right')
)

输出:没有变化,仍然是错误的输出

R: 3.3.2
OS:Debian 8.5

答案基于 user20650 的评论和其他迭代

datm$male.Nij <- factor(datm$male.Nij, c("Sinus", "Arr/AHB", "Digoxin arr", "Furosemide arr"))

# 
library(lattice)
lvs = unique(dat$male.Nij) # for ordering facets    
barchart(variable ~ value|group + factor(male.Nij, levels=rev(lvs)),
factor(male.Nij, levels=lvs), 
  groups=gender, 
  data=datm, 
  auto.key=list(space='right')
)

其中需要应用第一行和rev(lvs)。 该行为在其他一些 R 系统中有所不同,原因不明。