0

所以,我有一个从 1 到 100 的值数组,我需要在为每个离散值应用别名时使其离散。例如:

  A
 10
 15
 55
 15
 70

现在,假设我想让它在 2 个 bin 上离散(因此 0-50 是一个 bin,51-100 是另一个 bin)并将这些 bin 与 1 和 2 别名。它应该导致:

A
1
1
2
1
2

请注意,这与 discretize 函数(包含在 entropy 或 infotheo 中)不同。该函数仅计算每个 bin 的值的数量。

我的问题也与这个不同(标题相似)。

现在,我可以使用一系列 if 得到这个结果,但我想知道是否存在更简单的方法来做到这一点。

4

1 回答 1

2

您正在寻找功能cut

x <- cut(sample(1:100, 10), c(0, 50, 100))
str(x)
# Factor w/ 2 levels "(0,50]","(50,100]": 1 2 1 2 1 1 2 1 1 1
于 2014-01-27T16:40:57.567 回答