R中格子图中的完整标签

时间:2011-06-07 15:38:28

标签: r lattice

我在R中的格子图上获取标签时遇到一些问题。这是下面的示例

x <- c(1,2,3)
y <- c(2,4,6)
z <- c(0.1,0.5,2)
combo <- expand.grid(x,y,z)
combo <- data.frame(combo)
names(combo) <- c("x","y","z")
outcome <- function(l){
    (l[1]*l[2]) / l[3]
}

resp <- apply(combo, 1, outcome)

levelplot(resp ~ x * y | z, data = combo, pretty = TRUE, region = TRUE, 
          contour = FALSE)

理想情况下,我希望每个标记为“z = 0.1”“z = 0.5”和“z = 2”。我可以说z(就像它当前那样),并让它说出没有z的值,但我真的想要两者。有人可以帮忙吗?

感谢。

P.S(代码上的间距道歉,格式化似乎搞砸了一点!)

1 个答案:

答案 0 :(得分:1)

使z成为您想要的文字作为标签的因素。在这里,我将新变量zF作为z的因子,使原始z保持不变。我还以我喜欢的方式重写了您的数据生成命令;也许你会发现它也很有用。

zz <- c(0.1, 0.5, 2)
combo <- expand.grid( x = c(1, 2, 3),
                      y = c(2, 4, 6),
                      z = zz )
combo$resp <- with(combo, x*y/z)
combo$zF <- with(combo, factor(z, levels=zz, labels=paste("z =", zz)))

levelplot(resp ~ x * y | zF, data = combo, pretty = TRUE, region = TRUE, 
          contour = FALSE)