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

时间:2016-11-20 00:37:32

标签: r bar-chart lattice

代码,我factor(...)明确地将其排序到级别,但在Rplots.pdf中没有观察到它的影响

# data
# http://stackoverflow.com/a/40694900/54964 

summary(datm)

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

summary(datm)

# http://stackoverflow.com/a/6359164/54964
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
操作系统:Debian 8.5

1 个答案:

答案 0 :(得分:0)

根据用户20650的评论和其他迭代回答

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

# http://stackoverflow.com/a/6359164/54964
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系统的行为不同,原因不明。

相关问题