【发布时间】:2016-01-27 06:04:43
【问题描述】:
我在 R 中的一段简单代码中遇到了 for 循环问题...
所以我有一个包含一堆降水数据的数据框,其中有一堆“站”(1-75)在行和列中是每月的值。我为 Jan 列创建了一个降水值向量(我称之为“Jan”),所以它看起来像这样(为了这篇文章的目的,我输入了随机值):
V1
1 10
2 5
3 15
...
75 5
我想使用带有“if”的“for”循环来返回这个向量的最大值。但是,我下面的代码似乎只是遍历向量中的每个值,并且总是只返回整个事物的最后一个值(即在第 75 行中,将返回“5”)。我知道这是我的“if”循环中的某些东西,它并没有让我实际输入向量的值,而是测试“行号”值。有什么建议吗??
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
谢谢!
【问题讨论】:
-
我不明白你想要达到什么目的。
which.max功能还不够吗?
标签: r loops if-statement for-loop