最近看别人的房价预测项目,其中提到进行rank处理,这里不太懂,想问一下什么叫进行 rank处理,以及为什么要进行这样的处理,谢谢
其实很实际啊,学校考完试不也要按分数高低排个名吗,那就是rank处理
R里直接rank()即可
rank()
tctcab rank就是排个序吗= =
nick_judy 只是获得排名,向量里元素顺序并没有改变
rank() 的排名默认是从小到大 (第一名是最小值),比如:
df1=data.frame(value1=runif(5)) df1$RANK=rank(df1$value1) df1 value1 RANK 1 0.09663374 2 2 0.02199372 1 3 0.99304478 5 4 0.58393885 3 5 0.78182307 4
这里基本上有两个细节要注意:
na.last = TRUE
na.last = F
ties.method
ties.method= "min"
df1=data.frame(value1=c(0.01,0.01,runif(5))) df1$RANK=rank(df1$value1,ties.method= "min") df1 value1 RANK 1 0.01000000 1 2 0.01000000 1 3 0.74563622 6 4 0.08537846 3 5 0.30051761 4 6 0.61456216 5 7 0.75293206 7
假设我对小区名称进行rank,那么可以以排名作为小区的编码吗
nick_judy
rank不是这么用的,你可以将字符串转为factor,再转为数组:
# not good rank(c("a","b","DSFSDF","a")) #> [1] 1.5 3.0 4.0 1.5 # fine as.numeric(factor(c("a","b","DSFSDF","a"))) #> [1] 1 2 3 1