2016-08-28 3 views
1

Я после книги «R в действии», например P389 организовать Hist панели в следующей решетке графа:Index.cond не переставлять панели в решетке

library(lattice) 
graph1 <- histogram(~ height | voice.part, data = singer, 
        main = "Heights of Choral Singers by Voice Part") 
graph2 <- densityplot(~ height, data = singer, group = voice.part, 
         plot.points = FALSE, auto.key = list(columns = 4)) 
plot(graph1, position=c(0, .3, 1, 1)) 
plot(graph2, position=c(0, 0, 1, .3), newpage = FALSE) 

В инструкции из книги, которую я использую index.cond изменить порядок графа, как

plot(graph1, position = c(0, .3, 1, 1), 
    index.cond = list(c(2, 4, 6, 8, 1, 3, 5, 7))) 

Но порядок в графе не меняется. Может ли кто-нибудь помочь мне в этом? Я также заметил, index.cond не в помощи ?plot

+1

«index.cond» представляется аргументом для '? Update.trellis' -' update (graph1, position = c (0, .3, 1, 1), index.cond = list (c (2, 4, 6, 8, 1, 3, 5, 7))) ' –

+0

Действительно спасибо. Это прекрасно решает мой вопрос. –

+0

@alexis_laz: Это кажется достойным «реального» ответа. Обработка аргументов панели решетки может быть сложной, и я не помню, как это решение описано в SO или Rhelp. –

ответ

0

«index.cond», как и другие аргументы, описанные в ?xyplot либо передаются функции, которые создают «шпалеры» объекты или к update методов. Таким образом, в этом случае, вы можете

создать "graph1", передав "index.cond" в histogram:

histogram(~ height | voice.part, data = singer, 
      main = "Heights of Choral Singers by Voice Part", 
      index.cond = list(c(2, 4, 6, 8, 1, 3, 5, 7))) 

, используйте update:

update(graph1, index.cond = list(c(2, 4, 6, 8, 1, 3, 5, 7))) 

или использовать "[":

graph1[c(2, 4, 6, 8, 1, 3, 5, 7)] 
+0

Действительно спасибо за помощь –