示例数据集这里
让我们根据这些数据建立一个简单的格子图,用于线性回归,并为每一主题设置单独的面板。
xyplot(Measurement~HOL|Subject,groups=Treatment,data=Data,
type=c('p','r'),auto.key=T,aspect="xy")
问题是,我想在视觉上检查斜坡和拦截器是否相关.因此,我想用线性回归截距来排序面板,而不是按主题排序(这是在Douglas的书"lme4:混合效果建模与R“图3.1中完成的,但我找不到示例代码)。我知道我可以手动更改面板的顺序
index.cond=list(c(1,2,3, etc))
但是这是非常低效率的,特别是因为我想对多个响应变量这样做。
有人有自动化的方法吗?如果ggplot2有内置的函数,我也愿意尝试它,但据我所知,没有办法轻松地将这个方面更改为45度,例如
aspect="xy"
在格子里。
谢谢您的任何想法
发布于 2014-06-30 14:54:55
如果您想要按回归截距排序,最好运行回归。例如,对于您的数据,我们可以
cf<-sapply(Data$Subject, function(x)
coef(lm(Measurement~HOL, data=subset(Data, Subject==x))))
,这将给每个人一个斜率/截距,然后我们就可以创建一个新的主题因子,由
Sx<-reorder(Data$Subject, cf[1,])
,然后在绘图中使用该变量作为分组变量。
xyplot(Measurement~HOL|Sx,groups=Treatment,data=Data,
type=c('p','r'),auto.key=T,aspect="xy")
在ggplot
中,您可以确定x/y
与+coord_fixed(ratio=1)
的比率。
https://stackoverflow.com/questions/24492468
复制相似问题