将给定列中的行除以名称指定的行

Divide rows in a given column by a name-speficied row

在 R 中有一个数据框,我想将给定列中的所有行除以同一列中指定名称的行(此处 'ABC'),然后将这些应用到所有列此特定行作为规范化器。

输入:

A   1   1
B   1   2
C   4   4
ABC 2   2
E   2   3

输出:

A   0.5 0.5
B   0.5 1
C   2   2
ABC 1   1
E   1   1.5

非常感谢!

另一种选择是

df1[-1] <- df1[-1]/df1[df1$v1=='ABC', -1][col(df1[-1])]