R 在格点图中重新排列面板
下面是我在仅以单个变量为条件时使用的代码。下面使用index.cond可以在最终图形中切换面板的顺序。然而,现在我对两个变量进行调节,下面的代码无法切换不同面板的位置。如何修改index.cond才能工作?这是我的代码,下面是图表和示例数据的图片:R 在格点图中重新排列面板,r,panel,lattice,R,Panel,Lattice,下面是我在仅以单个变量为条件时使用的代码。下面使用index.cond可以在最终图形中切换面板的顺序。然而,现在我对两个变量进行调节,下面的代码无法切换不同面板的位置。如何修改index.cond才能工作?这是我的代码,下面是图表和示例数据的图片: libs <- c('lattice', 'latticeExtra', 'gridExtra', 'MASS', 'colorspace', 'plyr', 'Hmisc', 'scales') lapply(libs, require, c
libs <- c('lattice', 'latticeExtra', 'gridExtra', 'MASS', 'colorspace', 'plyr', 'Hmisc', 'scales')
lapply(libs, require, character.only = T)
conversion_test <- read.table("Desktop/FAST/convert_test/Results/fasconvert_Results", sep="\t", header=TRUE)
scatter.lattice <- xyplot(Time.to.Completion..s. ~ Number.of.Sequences | Length * Conversion, data = conversion_test, ylab = "Time to Completion (s)", xlab = "Number of Sequences", index.cond=list(c(2,1,4,3)), pch=16,
panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
lm1 <- lm(y ~ x)
lm1sum <- summary(lm1)
r2 <- lm1sum$adj.r.squared
panel.abline(a = lm1$coefficients[1],
b = lm1$coefficients[2])
panel.text(labels =
bquote(italic(R)^2 ==
.(format(r2,
digits = 5))),
x = 500000, y = 10)
},
xscale.components = xscale.components.subticks,
yscale.components = yscale.components.subticks,
as.table = TRUE)
scatter.lattice
从
xyplot
帮助页面的index.cond
下
如果index.cond是一个列表,则它必须与条件变量的数量一样长,并且第i个分量必须是级别(g_i)的有效索引向量,其中g_i是绘图中的第i个条件变量
既然你有两个条件变量,你应该有一个长度为2的列表。每个变量都有两个级别。我仍然不明白你是如何对这些图进行编号的,但根据你的因子是如何水平的,试试某种形式的
index.cond = list(2:1, 2:1)
#or
index.cond = list(2:1, 1:2)
但是将它与as.table一起使用似乎有点奇怪。如何准确地切换顺序?所需的输出是什么?我想切换列的顺序。为了更明确地从左到右、从上到下的编号,我希望顺序是2,1,4,3。我刚刚学习R来创建用于发布的绘图,因为我主要是复制代码。我将删除as.table。晶格显示中的默认布局自下而上计算行数。要从上到下显示,请使用
lattice.options(default.args=list(as.table=TRUE))
index.cond = list(2:1, 2:1)
#or
index.cond = list(2:1, 1:2)