下面是我只使用单个变量时使用的代码。使用index.cond如下所述,用于切换最终图表中面板的顺序。但是,现在我正在调整两个变量,下面的代码不能切换不同面板的位置。如何修改index.cond工作?这是我的代码,下面是图表和示例数据的图片:
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
我想切换列的顺序。
以下是一个示例数据集:
Numberofseq timetoCompletion Length Conversion
25000 9.3 100bp ClustalW
250000 45 100bp ClustalW
25000 9.3 100bp Fasta
250000 45 100bp Fasta
25000 9.3 1000bp ClustalW
250000 45 1000bp ClustalW
25000 9.3 1000bp Fasta
250000 45 1000bp Fasta
答案 0 :(得分:3)
在?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
一起使用这似乎有点奇怪。