我已经看过有关此主题的两个类似问题,但在两个问题中都找不到我要找的答案。 as.table函数将字母顺序从左下角更改为左上角,但是对组中窗格的顺序不起作用。

数据(我的客户专有)具有站号,该站号是字母和数字的组合。如果在要绘制的所有站点的组中有一系列站点具有相同的首字母,则它们将按第一位数字而不是人类计数的方式排序。例如,SW-1,SW-10,SW-11,SW-2,SW-3。我想要按SW-1,SW-2,SW-3,SW-10,SW-11的顺序排列。我使用的代码是:

 xyplot(as.d$quant ~ as.d$sampdate | as.d$site, ylim=range(as.d$quant), xlim=range(as.d$sampdate),
 main='Arsenic By Time', ylab='Concentraion (mg/L)', xlab='Time')


我不知道如何在结果图上附加.pdf,但是如果有人向我展示了如何执行此操作,我将这样做。

最佳答案

您需要按期望的顺序指定该因子变量的级别。正如您所注意到的,默认值为Lexigraphic:

xyplot(as.d$quant ~ as.d$sampdate | factor( as.d$site,
                                            levels=1:length(unique(as.d$site))) ,
         ylim=range(as.d$quant),   xlim=range(as.d$sampdate),
         main='Arsenic By Time', ylab='Concentration (mg/L)', xlab='Time')


根据问题的当前状况,您可能需要:

require(gtools)
xyplot(as.d$quant ~ as.d$sampdate | factor( as.d$site,
                                  levels=mixedsort( as.character(unique(as.d$site)) ) ) ,
         ylim=range(as.d$quant),   xlim=range(as.d$sampdate),
         main='Arsenic By Time', ylab='Concentration (mg/L)', xlab='Time')

关于r - 指定晶格图面板的顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15033107/

10-12 18:55