我想将数据导入R作为间隔,然后我想计算这些间隔内的所有数字,并从这个计数中绘制直方图。
示例:
start end freq
1 8 3
5 10 2
7 11 5
.
.
.
结果:
number freq
1 3
2 3
3 3
4 3
5 5
6 5
7 10
8 10
9 7
10 7
11 5
一些建议?
非常感谢!
答案 0 :(得分:1)
假设您的数据位于df
,您可以创建一个数据集,其中每个数字都在freq
重复的范围内。一旦你知道了使用R中的汇总函数是微不足道的。这是一个小迂回,但比明确计算重叠的总和要容易得多(尽管那并不难)。 / p>
dat <- unlist(apply(df, 1, function(x) rep(x[[1]]:x[[2]], x[[3]])))
hist(dat, breaks=0:max(df$end))
您也可以table(dat)
dat
1 2 3 4 5 6 7 8 9 10 11
3 3 3 3 5 5 10 10 7 7 5