如何使用R循环对Range进行分类?

时间:2014-07-01 04:27:59

标签: r loops range

我想使用R编程来对范围进行分类,但是我在R编程中尝试使用SQL中的Update语句失败了,因为R不支持SQL包中的更新。我选择在R中使用SQL,因为我对R的循环不好。 谁能教我如何使用这个数据集做R循环?

示例数据:

f<- data.frame(
 id=c(8.5,9,12,17.548,25,30,36,45,57,65,78,82)

)

预期结果:

f<- data.frame(
  id=c(8.5,9,12,17.548,25,30,36,45,57,65,78,82),
  Range=c("0%~10%","0%~10%","11%~20%","11%~20%","21%~30","21%~30","31%~40%","41%~50%","51%~60%","61%~70%","71%~80%","81%~90%")

   )

提前致谢。

1 个答案:

答案 0 :(得分:1)

尝试

f$Range<-cut(f$id, breaks=c(0,10*1:9, 100), 
    labels=paste0(c(-1,10*1:9)+1,"%~",c(10*1:9, 100),"%"))

它将通过在您指定的断点处分割“id”的值来创建一个因子。这将产生

       id   Range
1   8.500  0%~10%
2   9.000  0%~10%
3  12.000 11%~20%
4  17.548 11%~20%
5  25.000 21%~30%
6  30.000 21%~30%
7  36.000 31%~40%
8  45.000 41%~50%
9  57.000 51%~60%
10 65.000 61%~70%
11 78.000 71%~80%
12 82.000 81%~90%