R语言 将命名数字向量追加到具有更多值的矩阵

r7s23pms  于 2023-03-27  发布在  其他
关注(0)|答案(2)|浏览(95)

我对R相对较新,我似乎无法找到这个问题的解决方案,所以很抱歉,如果这可能是显而易见的或以前被问过。
我有一个大型矩阵,具有命名的行。我过滤了此数据并使用此过滤数据的子集执行了计算。对于过滤数据,我已设法将计算的值添加到新列中。
原始矩阵
| 表一|色谱柱A|B栏|
| - ------|- ------|- ------|
| 第1行|1个|第二章|
| 第2行|三个|四个|
| 第三行|五个|六个|
C列中带有注解的过滤矩阵
| 表一|色谱柱A|B栏|C栏|
| - ------|- ------|- ------|- ------|
| 第1行|1个|第二章|三个|
| 第三行|五个|六个|十一|
原始矩阵,仅对筛选列进行注解
| 表一|色谱柱A|B栏|C栏|
| - ------|- ------|- ------|- ------|
| 第1行|1个|第二章|三个|
| 第2行|三个|四个|0/NaN|
| 第三行|五个|六个|十一|
如果原始矩阵更大,如何将这些注解行添加回原始矩阵?
矩阵中是否有这种类型的功能,或者我将所有数据转换为dataframe并以这种方式进行计算会更好?
(edit格式化表格)

xzlaal3s

xzlaal3s1#

您可以在行名称上使用match,类似于

original_matrix[, "Column C"] <- NA
original_matrix[match(rowNames(filtered_matrix), rowNames(original_matrix)), "Column C"] <- filtered_matrix[, "Column C"]

虽然通常我更喜欢这种类型的操作的 Dataframe 。

sczxawaw

sczxawaw2#

我们可以使用连接

library(dplyr)
left_join(as.data.frame(m1), as.data.frame(m2))

或在base R中使用merge

merge(as.data.frame(m1), as.data.frame(m2), all.x = TRUE)

相关问题