R 中组合前两个值的直方图

mks*_*212 5 r histogram

我正在 R 中绘制直方图,前两个频率被组合到一个我不想要的容器中。数据中有 7 个可能的值,我想要 7 个容器,而不是 6 个。

直方图

R绘制的直方图的信息是,

$breaks
[1]  9 10 11 12 13 14 15

$counts
[1] 27  6  5  4  1 11

$density
[1] 0.50000000 0.11111111 0.09259259 0.07407407 0.01851852 0.20370370

$mids
[1]  9.5 10.5 11.5 12.5 13.5 14.5

$xname
[1] "data$hour"

$equidist
[1] TRUE

attr(,"class")
[1] "histogram"
Run Code Online (Sandbox Code Playgroud)

问题在于 $counts,它们应该是:

9-20
10-7
11-6
12-5  
13-4
14-1
15-11
Run Code Online (Sandbox Code Playgroud)

直方图和信息生成的数据和命令是:

temp <- c(9, 9, 9, 11, 12, 14, 15, 9, 9, 9, 10, 9, 13, 13, 15, 15, 9, 
9, 9, 11, 12, 13, 15, 15, 15, 9, 9, 10, 11, 12, 9, 10, 10, 12, 
15, 9, 9, 9, 9, 10, 11, 15, 9, 10, 10, 11, 11, 12, 13, 15, 15, 
9, 9, 15)

hist(temp)
histinfo = hist(temp)
histinfo
Run Code Online (Sandbox Code Playgroud)

如何纠正这个问题?我的想法是计算出现次数并绘制条形图,但这似乎有点矫枉过正,因为 hist 已经内置了。我尝试更改休息时间但无济于事。

谢谢。

Ric*_*ven 5

使用该table函数barplot

> barplot(table(temp))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Rom*_*rik 2

breaks绘制直方图时必须设置。

就我个人而言,我会手动将数据制成表格并绘制条形图。这可能是也可能不是您真正想要的。

library(reshape)
temp.melt <- melt(table(temp))

library(ggplot2)
ggplot(temp.melt, aes(x = temp, y = value)) +
  theme_bw() +
  geom_bar(stat = "identity")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述