2011-05-10 48 views
3

我正在嘗試使用函數直方圖來繪製某些數據的密度。 數據的採樣格式如下:R:如何更改R的格中的條的文本xyplot

library(lattice) 
    index<-c(1,1,1,2,2,2,2) 
    freq<-c(3,4,6,3,6,2,2) 
    D<-data.frame(index,freq) 
    histogram(~D$freq|D$index) 

我想要打印爲在此實例中爲每個直方圖中條帶文字(即,1和2上的直方圖的頂部分別代替索引號的當前打印的D$index),但我不知道一個簡單的方法來做到這一點 (我知道我必須使用strip.custom()可能,並更改var.name正確,但我不知道如何根據我的指數迭代它)

回答

4

如果您將索引變量更改爲某個因子,您會得到默認行爲,即在第Ë條:

library(lattice) 
    index<-factor(c(1,1,1,2,2,2,2)) 
    freq<-c(3,4,6,3,6,2,2) 
    D<-data.frame(index,freq) 
    histogram(~D$freq|D$index) 

只是爲了好玩,你可以使用樣式變量strip.default玩:

histogram(~freq|index, data=D, strip = 
     function(..., style){ strip.default(..., style = 4)} ) 
+0

謝謝,似乎問題來自索引是一個整數 – user622368 2011-05-12 04:07:48

2

index一個factor

index <- c(1,1,1,2,2,2,2) 
freq <- c(3,4,6,3,6,2,2) 
D <- data.frame(index=factor(index), freq) 
histogram(~D$freq|D$index) 

Histogram with index

而且它的更好看看histogram(~freq|index, D)的方式調用格子函數。