首页 > 解决方案 > 数据框和向量之间的元素划分

问题描述

在对这个问题的一个非常优雅的回答中,akrun 表明,只需很少的工作,就可以按行对数字数据框进行标准化:

df <- as.data.frame(t(matrix(seq(1,9), nrow = 3, ncol = 3)))

  V1 V2 V3
1  1  2  3
2  4  5  6
3  7  8  9

df / rowSums(df)

         V1        V2    V3
1 0.1666667 0.3333333 0.500
2 0.2666667 0.3333333 0.400
3 0.2916667 0.3333333 0.375

我的问题是,简单地说,为什么它会这样工作?我对 R 数据框的理解是它们是列表的特殊情况,我不希望矩阵运算能够自动工作。我至少希望按列操作被优先考虑(即,我希望上面的除法操作将每rowSums除以向量的每个元素)。

标签: rdataframe

解决方案


推荐阅读