我正在尝试使用函数直方图来绘制一些数据的密度。 数据的样本格式如下:
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
,但我不知道如何根据我的索引迭代它。
答案 0 :(得分: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)} )
答案 1 :(得分: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(~freq|index, D)
方式调用晶格函数更好。