gpt4 book ai didi

r - 如何在 xyplot() 中控制面板顺序?

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

R 按字母顺序(对于字符串)或级别顺序(对于因子)确定 xyplot() 中的面板顺序。我有日期作为文本,我想按时间顺序显示,而不是按字母顺序显示。

x <- sample(1:10, 10, replace = TRUE)
y <- sample(1:10, 10, replace = TRUE)
# overlapping 2010 and 2011
date <- rep(as.Date("2010-01-01") + sort(sample(200:400, 5)), each = 2)
striptext <- format(date, "%d-%b ...")
df <- data.frame(x, y, date, striptext)

这很好用:

xyplot(y ~ x | date, data = df)

但这会使日期乱序:

xyplot(y ~ x | striptext, data = df)

我不想要 strip 中的完整日期,但我确实希望它们按正确的顺序排列。除了让 striptext 成为有序因子之外,还有什么解决办法吗?

最佳答案

显式设置 striptext 的级别并将其存储为一个因子,这样 lattice 就不必为您进行强制转换(这是级别按 alpha 顺序结束的地方):

set.seed(1)
x <- sample(1:10, 10, replace = TRUE)
y <- sample(1:10, 10, replace = TRUE)
# overlapping 2010 and 2011
date <- rep(as.Date("2010-01-01") + sort(sample(200:400, 5)), each = 2)
striptext <- format(date, "%d-%b ...")
## set the levels explicitly
df <- data.frame(x, y, date,
striptext = factor(striptext, levels = unique(striptext)))
xyplot(y ~ x | striptext, data = df)

关于r - 如何在 xyplot() 中控制面板顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4868541/

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