首页 > 解决方案 > 将数据框每一行中的每个元素除以 R 中的一行中的值

问题描述

我想通过一个特定列中的值来标准化数据框。换句话说,我想将每一行中的所有值除以特定列中的值。

例如:

数据框是

Gene   P1  P2  P3   
A1      6   8   2   
A2      12  6   3   
A3      8   4   8 

我想将每行中的所有值除以 P3 列的该行中的值。

Gene   P1     P2    P3   
A1      6/2   8/2   2/2   
A2      12/3  6/3   3/3   
A3      8/8   4/8   8/8 

新的数据框将是:

Gene   P1  P2  P3       
A1      3   4   1   
A2      4   2   1  
A3      1   .5  1

感谢您的帮助。

标签: r

解决方案


您可以直接划分列 -

cols <- 2:3
df[cols] <- df[cols]/df$P3
df

#  Gene P1  P2 P3
#1   A1  3 4.0  2
#2   A2  4 2.0  3
#3   A3  1 0.5  8

推荐阅读