【发布时间】:2017-04-29 00:43:32
【问题描述】:
离散变量(区间方法)后,我无法检查一个值是否属于区间。
在向量a中离散化c(1:10):
(a<-unique(discretize(1:10,method="interval",5)))
[1] [ 1.0, 2.8) [ 2.8, 4.6) [ 4.6, 6.4) [ 6.4, 8.2) [ 8.2,10.0]
然后检查 4 的值在哪个区间内:
for(i in 1:5){print(findInterval(x=4,a[i]))}
[1] 1
[1] 1
[1] 1
[1] 1
[1] 0
虽然它应该导致0 1 0 0 0
我做错了什么? discretize 函数和 findInterval 不能很好地协同工作?
编辑: 另一个相关问题: 为什么在离散化一列后我会得到重复的值?,即,
(a<-discretize(1:10,method="interval",5))
[1] [ 1.0, 2.8) [ 1.0, 2.8) [ 2.8, 4.6) [ 2.8, 4.6) [ 4.6, 6.4) [ 4.6, 6.4) [ 6.4, 8.2)
[8] [ 6.4, 8.2) [ 8.2,10.0] [ 8.2,10.0]
【问题讨论】:
-
这个
discretize函数从何而来?它似乎不在基础 R 中。 -
来自 arules 包
标签: r machine-learning data-mining