我尝试创建一个函数。但是当我更改它的序列时,它会创建NA值。有什么特别的理由吗?感谢
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
答案 0 :(得分: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)
}