3
R按字母順序(對於字符串)或水平順序(對於因素)確定xyplot()
中的面板順序。我有日期作爲文本,我想按時間順序顯示,而不是按字母順序顯示。如何控制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)
我不想條完整的日期,但我確實希望他們按正確的順序。除了使striptext
爲有序因子之外,還有解決方案嗎?
主點我認爲你缺少的是`striptext`被強制轉化爲`xyplot`內的一個因素,並且如果沒有提供`levels`,所得因子的級別按照字母順序排列。考慮'levels(factor(striptext))`和`levels(factor(striptext,levels = unique(striptext)))`。對你的問題的真正答案是首先將你的條件變量設置爲按照你想要的方式排列的一個因子。 – 2011-02-01 22:30:47