R 使用“检查矩阵中的最大值”;至于;及;如果;环

R 使用“检查矩阵中的最大值”;至于;及;如果;环,r,loops,if-statement,for-loop,R,Loops,If Statement,For Loop,我在R中的一段简单代码中遇到了for循环的问题 所以我有一个数据框,里面有一堆降水数据,一堆“站”(1-75)成行,成列,是每月的数值。我为Jan列创建了一个降水量值向量(我称之为“Jan”),所以它看起来像这样(我在本文中输入了随机值): 我想使用带有“if”的“for”循环来返回这个向量的最大值。然而,我下面的代码似乎只是遍历向量中的每个值,并且总是只返回整个对象的最后一个值(即在第75行中,将返回“5”)。我知道这是我的“if”循环中的某个东西,它不允许我实际文本化向量的值,而是测试“ro

我在R中的一段简单代码中遇到了for循环的问题

所以我有一个数据框,里面有一堆降水数据,一堆“站”(1-75)成行,成列,是每月的数值。我为Jan列创建了一个降水量值向量(我称之为“Jan”),所以它看起来像这样(我在本文中输入了随机值):

我想使用带有“if”的“for”循环来返回这个向量的最大值。然而,我下面的代码似乎只是遍历向量中的每个值,并且总是只返回整个对象的最后一个值(即在第75行中,将返回“5”)。我知道这是我的“if”循环中的某个东西,它不允许我实际文本化向量的值,而是测试“row number”值。有什么建议吗

highest_ppt<- function(v) {
  i=0
 output<-v[i] #c(0,length(v))
  for (i in 2:length(v)){
    if (v[i] > (v[i-1])){
      output <- (v[i])
    }
  }
  return(output)
}

max_ppt <- highest_ppt(Jan)
max_ppt

highest\u pptA
for
循环在这里是错误的方法,但如果您坚持:

Max <- -Inf
for (i in seq_along(v)){
  if (v[i] > Max)
    Max <- v[i]
}
Max)

麦克斯,我不明白你想达到什么目的。
哪个.max
功能不够?
Max <- -Inf
for (i in seq_along(v)){
  if (v[i] > Max)
    Max <- v[i]
}