3

我正在尝试使用函数 histogram 来绘制一些数据的密度。数据样本格式如下:

   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

2 回答 2

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)}  )
于 2011-05-10T20:34:28.257 回答
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)调用格函数的方式。

于 2011-05-11T07:50:15.553 回答