gpt4 book ai didi

R:在没有对称匹配的矩阵中重新编码单元格

转载 作者:行者123 更新时间:2023-12-05 00:51:52 26 4
gpt4 key购买 nike

我有一个 0 和 1 的邻接矩阵,表示并列提名。有些提名是不互惠的,所以矩阵是不对称的。

如果单元格值没有对称匹配,我想将单元格值从 1 重新编码为 0。

小矩阵示例:

     [,1] [,2] [,3] [,4]
[1,] 0 1 0 1
[2,] 0 0 1 0
[3,] 0 0 0 1
[4,] 1 0 1 0

所需的输出:

     [,1] [,2] [,3] [,4]
[1,] 0 0 0 1
[2,] 0 0 0 0
[3,] 0 0 0 1
[4,] 1 0 1 0

最佳答案

首先是数据,然后是单行代码。将 0/1 视为逻辑并将矩阵与其转置进行“与”。 +() 强制转换为整数,技巧就完成了。

x <- scan(text="    0    1    0    1
0 0 1 0
0 0 0 1
1 0 1 0")
x <- matrix(x, nrow = 4, byrow = TRUE)

y <- +(x & t(x))
y
#> [,1] [,2] [,3] [,4]
#> [1,] 0 0 0 1
#> [2,] 0 0 0 0
#> [3,] 0 0 0 1
#> [4,] 1 0 1 0

reprex package 创建于 2022-02-09| (v2.0.1)

关于R:在没有对称匹配的矩阵中重新编码单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71044463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com