Ответ 1
Я думаю, что вы хотите получить:
z <-c( "a" , "b" ) # Same number of values as there are panels
xyplot(a~x | y,data=test,strip=strip.custom(factor.levels=z))
как изменить текст, отображаемый в полосах решетчатых графиков? пример: предположим, что у меня есть тест кадра данных, состоящий из 3 столбцов
x
[1] 1 2 3 4 5 6 7 8 9 10
y
[1] "A" "A" "A" "A" "A" "B" "B" "B" "B" "B"
a
[1] -1.9952066 -1.7292978 -0.8789127 -0.1322849 -0.1046782 0.4872866
[7] 0.5199228 0.5626998 0.6392686 1.6604549
нормальный вызов графика решетки
xyplot(a~x | y,data=test)
даст график с текстом "A" и "B" на полосах
Как я могу получить разные тексты, написанные на полосах?
Атет с другим символьным символом
z
[1] "a" "a" "a" "a" "a" "b" "b" "b" "b" "b"
и вызов strip.custom()
xyplot(a~x | y,data=test,strip=strip.custom(var.name=z))
не дает желаемого результата.
В действительности это проблема интернационализации.
Я думаю, что вы хотите получить:
z <-c( "a" , "b" ) # Same number of values as there are panels
xyplot(a~x | y,data=test,strip=strip.custom(factor.levels=z))
Если вы сделаете свой вектор-символ фактором, вы можете просто изменить уровни:
> xyplot(a~x | y,data=test) # your plot
> test$y=as.factor(test$y) # convert y to factor
> xyplot(a~x | y,data=test) # should be identical
> levels(test$y)=c("Argh","Boo") # change the level labels
> xyplot(a~x | y,data=test) # new panel labels!