-2
我已經寫了一個R函數,它將一個矢量作爲輸入並返回另一個矢量作爲輸出,以便輸入矢量的最小值被1代替,元素大於最小值的值被2等取代,直到矢量的最大值,該矢量被矢量的長度代替。這是我的功能:重新排列矢量的元素從1到矢量的長度
resc<-function(x){
m<-length(unique(x))
nor<-rep(0,length(x))
x_2<-x
for(i in 1:m){
temp<-min(x_2)
temp_2<-which(x==temp)
nor[temp_2]<-i
x_2<-x_2[-which(x_2==temp)]
}
return(nor)
}
我該如何在Python中重寫這個函數?我試過了,但是我對使用命令'which'有點困惑。
對於它的價值,該功能已經存在於R和它的'rank'。不知道Python足以說明如何翻譯。 – nicola
對於R,你可以使用'rank',它給你的向量中的元素的等級和python可能[使用Python/NumPy排列數組中的項目](http://stackoverflow.com/questions/5284646/rank -items-in-an-an-an-array-using-python-numpy) –
謝謝你在R語言中的直覺@nicola和@Ronak! 我想這就是我要找的! –