我需要按照以下公式进行一些计算:
B1 = A1 + (1-A1) * B1
例子:
B1 = 0.2 + (1 - 0.2) * 0.4
= 0.52
C1 = 0.4 + (1 - 0.4) * 0.8
= 0.904
D1 = 0.8 + (1 - 0.8) * 0.5
= 0.952
同样的逻辑应用于其他行和其他列,总共有11个。
数据框:
df
A B C D
0.2 0.4 0.8 0.5
0.4 0.5 0.6 0.2
0.8 0.1 0.5 0.4
0.3 0.4 0.1 0.8
期望输出:
A B C D
0.2 0.52 0.904 0.952
0.4 0.7 0.88 0.904
0.8 0.82 0.91 0.946
0.3 0.58 0.622 0.9244
我用如下代码进行了一次尝试:
Df <- df[-ncol(df)] + ( 1 – df[-ncol(df)]) * df[-1]
我能够按照输出获得B列,但无法处理其余列。
请帮忙解决,谢谢。BM。
C
和D
中的条目如何更新?您只提供了列B
的规则。 - Maurits EversB1
,但是您将新变量命名为C
和D
(其中任何一个与您定义的公式相对应)。您能否通过说明更清晰一些? - R18