0

我有以下代码:

myHist <- hist(myData)

有了这个我可以运行:

myHist$breaks
myHist$intensities

查看我所有的休息时间和强度,但我想知道是否有办法查看特定休息时间的强度?例如,上面的输出如下:

[1] 0 1 2

[1] 0.258 0.068 0.114

我怎么能得到2的强度?

4

1 回答 1

2

使用[运算符对结果进行子集化。说明使用iris

x <- hist(iris$Sepal.Length)

str(x)
List of 7
 $ breaks     : num [1:9] 4 4.5 5 5.5 6 6.5 7 7.5 8
 $ counts     : int [1:8] 5 27 27 30 31 18 6 6
 $ intensities: num [1:8] 0.0667 0.36 0.36 0.4 0.4133 ...
 $ density    : num [1:8] 0.0667 0.36 0.36 0.4 0.4133 ...
 $ mids       : num [1:8] 4.25 4.75 5.25 5.75 6.25 6.75 7.25 7.75
 $ xname      : chr "iris$Sepal.Length"
 $ equidist   : logi TRUE
 - attr(*, "class")= chr "histogram"

现在提取第二个 bin 的数据:

x$breaks[2:3]
[1] 4.5 5.0

x$intensities[2]
[1] 0.36

或者等效地,要选择与特定休息相对应的强度,您可以这样做:

x$intensities[x$breaks == 4.5]
[1] 0.36

请注意,总是比 bin 多一个中断,即中断指示每个 bin 周围的范围。

于 2012-08-28T21:32:06.173 回答