【发布时间】:2022-01-22 10:10:59
【问题描述】:
我在 R 中有如下数据框:
df <- matrix(c('A','A','A','A','B','B','B','B','C','C','C','C',4,6,8,2,2,7,2,8,9,1,2,5),ncol=2)
对于这个数据框的每一行,我想包括每个类(A、B、C)的总值,以便数据框看起来像这样:
df <- matrix(c('A','A','A','A','B','B','B','B','C','C','C','C',4,6,8,2,2,7,2,8,9,1,2,5,20,20,20,20,19,19,19,19,17,17,17,17),ncol=3)
我有什么办法可以做到这一点?
提前感谢您的帮助。
【问题讨论】:
-
您有矩阵,而不是数据框(因为您明确使用了
matrix()函数)。您可能确实需要数据框,因为矩阵只能保存一种数据类型,但数据框可以在每一列中保存不同的数据类型。 -
将数据放入数据框中后,您应该能够使用链接的常见问题解答中的任何答案来添加新列。使用
dplyr并从您的矩阵开始,您可以执行library(dplyr); df %>% as.data.frame %>% group_by(V1) %>% mutate(V2 = as.numeric(V2), total = sum(V2))