Создание матрицы вероятностей с помощью матрицы меток - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть этот процесс в R:

M=4
n=3
number = runif(M,0,1)
label =LETTERS[1:M]
res <- xtabs(data.frame(c(number),c(label)))
sample <- sample(res,choose(n,2), replace = TRUE)
prob.matrix <- matrix(0, nrow = 3, ncol = 3)
prob.matrix[upper.tri(prob.matrix )]<- sample

и я получаю треугольную матрицу вероятности, из которой производится выборка. Например, если есть:

> res
c.label.
        A         B         C         D 
0.1668435 0.6432194 0.9573289 0.3870988 

> sample
c.label.
        C         C         A 
0.9573289 0.9573289 0.1668435 

> prob.matrix
     [,1]      [,2]      [,3]
[1,]    0 0.9573289 0.9573289
[2,]    0 0.0000000 0.1668435
[3,]    0 0.0000000 0.0000000

больше, чем prob.matrix, я хочу иметь матрицу меток, которая показывает метку каждой вероятности, например:

> label.matrix
     [,1]      [,2]      [,3]
[1,]    0       C         C
[2,]    0       0         A
[3,]    0       0         0

Что следует я делаю для получения label.matrix?

1 Ответ

1 голос
/ 26 апреля 2020

Может быть, вы можете попробовать код ниже

label.matrix <- prob.matrix
label.matrix[label.matrix!=0] <- names(sample)

или

label.matrix <- prob.matrix
label.matrix[upper.tri(label.matrix)] <- names(sample)
...