gpt4 book ai didi

在格子 xyplot 中重新排列面板

转载 作者:行者123 更新时间:2023-12-04 17:10:04 26 4
gpt4 key购买 nike

下面是我在仅以单个变量为条件时使用的代码。如下所示使用 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

我想切换列的顺序。 Output

这是一个示例数据集:

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

最佳答案

来自 ?xyplot 帮助页面,在 index.cond 下,

If index.cond is a list, it has to be as long as the number of conditioning variables, and the i-th component has to be a valid indexing vector for levels(g_i), where g_i is the i-th conditioning variable in the plot

因此,由于您有两个条件变量,因此您应该有一个长度为 2 的列表。您的每个变量都有两个级别。我仍然不明白你是如何对这些地 block 进行编号的,但是根据你的因素是如何平衡的,尝试某种形式的

index.cond = list(2:1, 2:1)
#or
index.cond = list(2:1, 1:2)

但是将它与 as.table 一起使用似乎有点奇怪。

关于在格子 xyplot 中重新排列面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24620510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com