Я не очень опытен в операторах if и циклах в R.
Возможно, вы поможете мне решить мою проблему.
Моя задача - добавить +1 к df $ fz, если сумма (df $ fz) <450, но в то же время мне нужно добавить +1 только к максимальным значениям в df $ fz до того момента, когдакогда сумма (df $ fz) меньше чем 450 </p>
Вот мой df
ID_PP <- c(3,6, 22, 30, 1234456)
z <- c(12325, 21698, 21725, 8378, 18979)
fz <- c(134, 67, 70, 88, 88)
df <- data.frame(ID_PP,z,fz)
После изменения нового столбца df $ new_value он должен выглядеть как 134 68 71 88 89
В данный момент у меня есть этот код, но он добавляет +1 ко всем значениям.
if (sum(df$fz ) < 450) {
mutate(df, new_value=fz+1)
}
Я знаю, что могу выбрать top_n (3, z) и добавить +1только к этой вершине, но это не то, что я хочу, потому что в этом случае я должен выбрать вершину вручную после проверки суммы (df $ fz)