R使用seq_沿跳过for循环中的最后一个元素

R使用seq_沿跳过for循环中的最后一个元素,r,for-loop,sequence,R,For Loop,Sequence,我有以下代码: for(j in seq_along(nums)){ d = dist(nums[j], average) print("nums[j]") print(nums[j]) print("dist:") print(d) if(farthest < d){ print("farthest = true") farthest <- nums[j] }

我有以下代码:

for(j in seq_along(nums)){
      d = dist(nums[j], average)
      print("nums[j]")
      print(nums[j])
      print("dist:")
      print(d)
      if(farthest < d){
        print("farthest = true")
        farthest <- nums[j]
      }
    }
    print("farthest")
    print(farthest)
用于(沿(nums)的顺序中的j){
d=距离(单位[j],平均值)
打印(“nums[j]”)
打印(nums[j])
打印(“dist:)
印刷品(d)
if(最远最远的您正在比较两种不同类型的值。
最远的
是来自
nums
的数字,但
d
是一个距离。您想改用它

nums <- c(224, 352, 320, 352, 352, 352, 223)
average <- mean(nums)
farthest <- average
for(j in seq_along(nums)){
  d = abs(nums[j]-average)
  if(abs(farthest-average) < d){
    print("farthest = true")
    farthest <- nums[j]
  }
}
farthest

nums最远值的初始值为0,平均值的初始值为310.7143要复制您的代码,我们需要您的对象(以及您加载的任何包)调用
dist
不会产生任何有意义的结果,除非它来自一个包,该包包含除
stats:dist
以外的内容。dist是我创建的一个函数,它只返回第一个数字减去第二个数字的绝对值。请包含任何用户定义函数的定义,以及所有用户定义函数的值当您询问堆栈溢出问题时使用的对象:)是。这(编辑)是您应该如何找到具有最大剩余值的值。
nums <- c(224, 352, 320, 352, 352, 352, 223)
average <- mean(nums)
farthest <- average
for(j in seq_along(nums)){
  d = abs(nums[j]-average)
  if(abs(farthest-average) < d){
    print("farthest = true")
    farthest <- nums[j]
  }
}
farthest
max.ind <- which.max(abs(nums - average))
nums[max.ind]