首页 > 解决方案 > 使用 dplyr 管道替换对角线元素

问题描述

我想在管道过程的中间替换矩阵的对角线元素,但无法找到一种方法来做到这一点。我知道我可以使用diag()函数替换对角线元素,但我只是不知道如何diag()在管道过程中使用函数。下面给出了示例数据,我希望将以下步骤放在管道过程中。提前致谢。

aa <- matrix(1:25, nrow =5) 
diag(aa) <- NA

标签: rdplyr

解决方案


一种选择可能是:

aa %>%
 `diag<-`(., NA)

     [,1] [,2] [,3] [,4] [,5]
[1,]   NA    6   11   16   21
[2,]    2   NA   12   17   22
[3,]    3    8   NA   18   23
[4,]    4    9   14   NA   24
[5,]    5   10   15   20   NA

推荐阅读