我有一个数据框' dd' 753 x 3,所有变量都是数字类。
str(dd)
'data.frame': 753 obs. of 3 variables:
$ A: num 1.9 2 1.1 0.636 0.9 ...
$ B: num 1.1 0.222 0.6 0.364 0.8 ...
$ C: num 0 -0.8 -0.2 0 -0.2 -0.5 0.1 0 -0.9 0.1 ...
我做了第一个变量的直方图并将其存储在变量中。
h1 <- hist(dd[, 1], breaks = 25, plot = F)
str(h1)
List of 6
$ breaks : num [1:24] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 ...
$ counts : int [1:23] 5 3 5 9 20 25 36 43 45 51 ...
$ density : num [1:23] 0.0664 0.0398 0.0664 0.1195 0.2656 ...
$ mids : num [1:23] -0.25 -0.15 -0.05 0.05 0.15 0.25 0.35 0.45 0.55 0.65 ...
$ xname : chr "dd[, 1]"
$ equidist: logi TRUE
- attr(*, "class")= chr "histogram"
然后我确定密度&gt;的第一个和最后一个索引。 0.3并将相应的中断存储到变量中。
index <- which(h1$density > 0.3)
ll <- as.numeric(h1$breaks[index[1]])
ul <- as.numeric(h1$breaks[index[length(index)]])
ll的值为0.2,ul为1.6。当我试图找到第一个变量大于ul的观察数时,我得到105:
sum(dd[, 1] > ul)
[1] 105
但是,如果我这样做
sum(dd[, 1] > 1.6)
[1] 72
我正在努力了解这些结果(可能是一个微不足道的但我迷失了)。有人可以帮我理解差异吗?