我正在尝试使用r
使用十分位数对数据进行排名。这是代码。
X<-c(1,6,2,4,3,5,12,9,8,10,11,7)
NewVar<-cut(X,quantile(X,(0:10)/10),include.lowest=TRUE)
cbind(X,NewVar)
X NewVar
[1,] 1 1
[2,] 6 5
[3,] 2 1
[4,] 4 3
[5,] 3 2
[6,] 5 4
[7,] 12 10
[8,] 9 8
[9,] 8 7
[10,] 10 9
[11,] 11 10
[12,] 7 6
对于上述数据集,它给出了正确的值。
但是如果数据集具有NA值,那么它将给出错误,如下所示。
X<-c(1,6,2,4,3,5,12,9,8,10,NA,11,7,NA)
NewVar<-cut(X,quantile(X,(0:10)/10),include.lowest=TRUE, na.rm=FALSE)
error is "Error in quantile.default(X, (0:10)/10) :
missing values and NaN's not allowed if 'na.rm' is FALSE"