2014-01-27 175 views
0

我嘗試創建一個功能。但是當我改變它的順序時,它會創建NA值。有什麼特別的原因呢?由於R功能故障

new<-function(x){ 
    min2<-NULL 
    min1<-NULL 
    len<-length(unique(x)) 
for (i in 1:(len-1)) 
    min2[i]<-sort(x,partial=(len-i+1))[(len-i+1)] 
    min1[i]<-sort(x,partial=(len-i)) [(len-i)] 
    return((min1)) 
} 


x<-c(1,11,40,120) 

new(x) 

[1] 120 40 11 




new<-function(x){ 
    min2<-NULL 
    min1<-NULL 
    len<-length(unique(x)) 
for (i in 1:(len-1)) 
    min1[i]<-sort(x,partial=(len-i)) [(len-i)] 
    min2[i]<-sort(x,partial=(len-i+1))[(len-i+1)] 
    return((min1)) 
} 


x<-c(1,11,40,120) 

new(x) 

[1] NA NA 11 

回答

3

你忘了你身邊想你for循環重複表達花括號:

new<-function(x){ 
    min2<-NULL 
    min1<-NULL 
    len<-length(unique(x)) 
    for (i in 1:(len-1)) { 
     min2[i]<-sort(x,partial=(len-i+1))[(len-i+1)] 
     min1[i]<-sort(x,partial=(len-i)) [(len-i)] 
    } 
    return(min1) 
} 
+0

謝謝。我很遺憾忘記括號。 –