我需要根據所來自的方向,以計算波高度的最大值和最小值,也就是說,我有兩個變量:MAX或MIN取決於另一個變量
- HS(波高度)
- 方向(涌浪的方向)
我需要知道波11.25 33.75和度之間的方向上的最大波高。
現在,使用功能:
Max (Hs [Direction [11.25: 33.75]))
但我不同意,我有數據的結果。
我需要根據所來自的方向,以計算波高度的最大值和最小值,也就是說,我有兩個變量:MAX或MIN取決於另一個變量
我需要知道波11.25 33.75和度之間的方向上的最大波高。
現在,使用功能:
Max (Hs [Direction [11.25: 33.75]))
但我不同意,我有數據的結果。
假設你的數據框被稱爲df
,您的變量被稱爲Hs
和Direction
,您可以使用
max(df$Hs[df$Direction >= 11.25 & df$Direction <= 33.75])
到Direction
定義的數值範圍內得到最大的所有Hs
值。
如果你和我一樣,不喜歡的必要性,分別定義間隔的兩個上限和下限,你可以使用這個整齊的功能(我發現here):
in_interval <- function(x, interval){
stopifnot(length(interval) == 2L)
interval[1] < x & x < interval[2]
}
然後使用
max(df$Hs[in_interval(df$Direction, c(11.25, 33.75))])
@LAP的答案絕對正確,但您也可以使用dplyr
包來獲得max
和min
。
首先讓我們創建一些示例數據。
df <- data.frame(Hs = rnorm(327), Direction = runif(327, 0, 364))
現在讓我們來計算。
library(dplyr)
df %>%
filter(Direction >= 11.25 & Direction <= 33.75) %>%
summarise(max(Hs), min(Hs))
歡迎來到SO!請給[mcve]! https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – jogo
看看'dput()'! – Christoph