Полные метки на решетчатом участке в R - PullRequest
0 голосов
/ 07 июня 2011

У меня возникли проблемы с получением меток на решетчатом графике в 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, но я действительно хочу оба.Кто-нибудь может помочь?

Спасибо.

PS (извините за пробел в коде, форматирование, похоже, немного испортило его!)

1 Ответ

1 голос
/ 07 июня 2011

Сделать 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)
...