我将变量从离散变为连续变量。我现在如何获得每个间隔的中值。
sample <- c(30,16,12,40,14,30,5,5,5,5,38,30,45,22,30,31,22,35,45,29)
sample$Cut <- cut(sample,seq(min(sample),max(sample),(max(sample)-min(sample))/r),include.lowest = TRUE)
我的神奇r值是
r = log(length(sample), base = 2)
r = trunc(r)
r = r + 1
现在我需要从每个间隔中获得中值:
[5,13](13,21](21,29](29,37)(37,45) 对于这个例子,我必须得到9,17,25,33,41。
抱歉这么傻的问题。提前谢谢。
答案 0 :(得分:1)
你有断点:
b <- seq(min(sample), max(sample), (max(sample)-min(sample))/r)
# [1] 5 13 21 29 37 45
因此,这些间隔的中间点是:
(b[-length(b)] + b[-1]) / 2
# [1] 9 17 25 33 41