У меня есть набор данных с несколькими станциями, глубинами и концентрациями. Я пытаюсь найти разницу в глубине (или толщине) на основе того, где минимальная концентрация увеличивается на 0,1
Например: на станции 1 максимальная глубина составляет 14 метров. Кон c равен 0,1 на 4 м и увеличивается до 0,2 на 6 м. Но затем он снова снижается до 0,1 на 10 м и остается таким до 12 м, а затем увеличивается. Он увеличивается всего на 0,05 на 13м. На 14 м концентрация увеличивается на 0,1. Таким образом, 14 м - это самая глубокая (или максимальная глубина), где находится наименьшее значение con c. Мне нужно найти способ исправить мой код, чтобы найти это 14 ... (т.е. где концентрация увеличивается на 0,1). Я могу найти максимальную глубину для данной станции и минимальную концентрацию.
Этот код дает мне столбец с максимальной глубиной для каждой станции (max_depth) и еще один столбец о минимальной концентрации для каждой станции (min_con c).
Как мне узнать, на какой глубине самая низкая концентрация увеличивается на 0,1?
Я пытаюсь использовать 'which' max и min, но я не могу понять код .. Как использовать Dplyr Summarize и which () для поиска минимальных / максимальных значений
station <- c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4)
depth <- c(1, 2, 3, 6, 8, 9, 10, 11, 12, 13, 14, 1, 3, 4, 6, 8, 10, 11, 14, 1, 2, 4, 6, 8, 9, 10, 15, 18, 20, 1, 2, 4, 6, 8, 10, 11)
conc <- c(0.4, 0.4, 0.3, 0.1, 0.2, NA, 0.2, 0.1, 0.1, 0.1, 0.15, 0.2, 0.5, 0.4, 0.3, 0.6, 0.4, 0.2, 0.1, 0.2, 0.3, 0.2, 0.5, 0.5, 0.3, 0.2, 0.1, 0.2, 0.2, 0.2, 0.8, 0.6, 0.4, 0.3, 0.2, 0.3, 0.3)
df <- cbind(station, depth, conc)
(df <- as.data.frame(df))
(depth <- df %>%
group_by(station) %>%
summarize(
Max_depth=miss(max(depth)),
min_conc=miss(min(conc, na.rm=TRUE)),
press_depth = depth[tail(which(conc == min(conc, na.rm = TRUE)), 1)]))
вместо этого:
press_depth = depth[tail(which(conc == min(conc > 0.1, na.rm = TRUE)), 1)])
Я получаю сообщение об ошибке: столбец press_depth
должен иметь длину 1 (итоговое значение), а не 0