我想使用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%")
)
提前致谢。
答案 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%