如何在矩阵中添加新值

时间:2019-02-01 12:26:30

标签: r matrix

在此示例中,我有一个类似

的矩阵
matr_x <- data.frame(Test=1:5, Score=11:15)

enter image description here

我想添加具有一些新测试值的另一个矩阵

add_matrx <- data.frame(Test = c(1,2,5,6,7), Score=16:20)

enter image description here

但是,在另一个表中,我有一些matr_x中已经存在的测试编号(数字:1、2和5),在这种情况下,我想为这些数字添加分数,以得到最终表:

result_matrx <- data.frame (Test = 1:7, Score = c(27, 29, 13, 14, 33, 19, 20))

enter image description here

我该怎么办?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

只需rbind,然后aggregate

aggregate(Score ~ Test, rbind(matr_x, add_matrx), sum)

#  Test Score
#1    1    27
#2    2    29
#3    3    13
#4    4    14
#5    5    33
#6    6    19
#7    7    20

dplyr这将是

library(dplyr)
bind_rows(matr_x, add_matrx) %>%
   group_by(Test) %>%
   summarise(Score = sum(Score))