我是一个没有经验的 R 程序员,试图让我写的一段代码工作。这可能是一个基本问题。我希望此代码对照向量中的前任检查一个值,如果它大于某个阈值,则返回该向量上的哪个元素满足此标准。一旦找到一个案例,我希望它停止。
目前,我的代码可以按我的意愿运行,但它会遍历整个向量,一旦到达末尾,它会检查 a[i+1] ,它是 NA 并给我一条错误消息。
testdata<-c(0,0.1,0.2,0.3,0.45,0.5,0.6,0.7,0.8,0.9,1.0)
MLD<-function(a,...){
x<-NULL
y<-NULL
for(i in seq(along=a)){
if(a[i+1]>=a[i]+0.125)
{x=c(x,a[i+1]); y=which(a==x); print(y)}
}
}
try(MLD(testdata),silent=TRUE) # code finds right element
MLD(testdata) # but continues looking until it runs out of data
我知道我需要一个break()
或一个stop()
地方,但我似乎无法解决,希望你能帮助我。