【发布时间】:2020-02-04 01:50:44
【问题描述】:
我从我想要的代码开始(都是用例子写的)
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 间隔中的所有行。所以我的数据框的每一行都有一个平均值来计算。
在Dataframe中,每行4列一直填写
COMP = 应用条件以在计算平均值时考虑或不考虑行的列
VAL = 如果考虑线,将用于计算平均值的值
COND_INF = 下限(COMP 的-20%),其 COMP 必须大于等于考虑
COND_SUP = 上限(+ COMP 的 20%),其 COMP 必须为 lower-equal 才能考虑
谢谢你的帮助,我迷路了……
【问题讨论】:
标签: r dataframe conditional-statements mean