我已经看过有关此主题的两个类似问题,但在两个问题中都找不到我要找的答案。 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/