9

这是一个简单的问题,您肯定已经遇到过,但是让我很头疼...

我有一个这样的数据框:

set.seed(3)
mydata <- data.frame(var = rnorm(100,20,1),
                     temp = sin(sort(rep(c(1:10),10))),
                     subj = as.factor(rep(c(1:10),5)))

我需要为每个主题制作一个散点图,这不是问题,但是......我想要的是替换格子中的条带并为每个图添加一个标签。我设法用下面的代码做到这一点,但我还是不开心......

xyplot(var ~ temp | subj, 
       data = mydata,
       strip=FALSE,
       panel = function(x, y,...) {
               panel.xyplot(x, y,...)
               panel.text(1,21,labels=which.packet())
               }) 

最后一点......我堆积的地方......是如何在每个面板中打印字母而不是数字。我想将面板称为 a,b,c... 等等。

任何建议...非常感谢 matteo

4

1 回答 1

9

你几乎明白了。如果您需要字母,请letters使用以下索引panel.number()

xyplot(var ~ temp | subj, 
   data = mydata,
   strip=FALSE,
   panel = function(x, y,...) {
           panel.xyplot(x, y,...)
           panel.text(1,21,labels=letters[panel.number()])
           }) 

您还可以在面板函数中定义另一个字符向量并将此索引模式与它一起使用。

于 2011-12-14T17:14:09.950 回答