我需要将一个因子转换为R中的数字范围(1到0-5)

时间:2014-01-15 18:50:33

标签: r

我在将整数转换为R中的一系列数字时遇到了问题。我已经将距离合并,但是想要“解除”它们。

例如,当我将其作为1,2,3,4,5和6输入到Microsoft Access时,数据被分箱。我想将这些数据转换为R中的各自范围(1到0-5, 2到5-10,3 10-15等。有没有代码可以做到这一点?谢谢!

1 个答案:

答案 0 :(得分:1)

使用factor

factor(c(1,2,3), labels=c("0-5", "5-10", "10-15"))

考虑这个简单的示例,其中有一个向量x,其中包含数字1,2和3,您可以使用factor

设置每个“范围”
> set.seed(1)
> x <- sample(1:3, 10, TRUE)
> data.frame(x, interval=factor(x, labels=c("0-5", "5-10", "10-15")))
   x interval
1  1      0-5
2  2     5-10
3  2     5-10
4  3    10-15
5  1      0-5
6  3    10-15
7  3    10-15
8  2     5-10
9  2     5-10
10 1      0-5

要计算每个'范围'的出现次数,您可以使用table

> table(factor(x, labels=c("0-5", "5-10", "10-15")))

  0-5  5-10 10-15 
    3     4     3