gpt4 book ai didi

r - 通过计数重复将向量转换为矩阵

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

我正在使用 R。

我有一个这样的向量:

x <- c("P1","P1,P2","P1,P3","P2","P2,P3","P2","P1","P1,P3")

我期望作为输出的是一个 3x3 三角形(或对称)矩阵,如下所示:
  P1 P2 P3
P1 2 1 2
P2 2 1
P3 0

最佳答案

创建 levs使用级别,即 P1、P2、P3,然后使用这些级别为第一个和第二个组件创建因子。最后使用 table .

levs <- sort(unique(scan(text = x, what = "", sep = ",", quiet = TRUE)))
x1 <- factor(sub(",.*", "", x), levs)
x2 <- factor(sub(".*,", "", x), levs)
table(x1, x2)

给予:
    x2
x1 P1 P2 P3
P1 2 1 2
P2 0 2 1
P3 0 0 0

关于r - 通过计数重复将向量转换为矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57829121/

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