Я начинаю с кода, который я хочу получить (все пишется с примером)
df <- data.frame(comp = c(10, 12, 14, 17, 17),
val = c(0, 5, 10, 15, 20),
cond_inf = c(8, 9.6, 11.2, 13.6, 13.6),
cond_sup = c(12, 14.4, 16.8, 20.4, 20.4),
mean_cond_text1 = c("Average of VAL lines whose COMP is between 8 12",
"Average of VAL lines whose COMP is between 9.6 14.4",
"Average of VAL lines whose COMP is between 11.2 16.8",
"Average of VAL lines whose COMP is between 13.6 20.4",
"Average of VAL lines whose COMP is between 13.6 20.4"),
mean_cond_text2 = c("(val_row1+val_row2)/2", "(val_row1+val_row2+val_row3)/3", "(val_row2+val_row3)/2", "(val_row3+val_row4+val_row5)/2", "(val_row3+val_row4+val_row5)/2)"),
mean_cond_text3 = c("(0+5)/2", "(0+5+10)/3", "(5+10)/2", "(10+15+20)/3", "(10+15+20)/3)"),
mean_cond_num = c((0+5)/2, (0+5+10)/3, (5+10)/2, (10+15+20)/3, (10+15+20)/3))
Я хочу, чтобы в каждой строке кадра данных вычислялось среднее значение столбца VAL для всех строкчьи значения сравнения COMP включены в интервал COND_INF - COND_SUP моей линии, по которой я вычисляю среднее значение. Таким образом, в каждой строке моего фрейма данных рассчитывается среднее значение.
В фрейме данных каждая строка с 4 столбцами все время заполнена
COMP = столбец, для которого будет выполнено условиеприменяется для учета этой линии или нет при расчете среднего
VAL = значение, которое будет использоваться для расчета среднего значения, если линия будет учитываться
COND_INF =нижняя граница (-20% от COMP), чья COMP должна быть выше-равной, чтобы учитываться
COND_SUP = верхняя граница (+ 20% от COMP), чья COMP должна быть ниже-равной, чтобы быть принятой ваккаунт
Спасибо, за помощь, я потерялся ...