Попытка преобразовать мою матрицу в числовой в R - PullRequest
0 голосов
/ 13 июня 2018

структура моей матрицы выглядит следующим образом

str(transition2)
 chr [1:7, 1:7] "0.00" "0.00" "0.01" "0.00" "0.05" "0.00" "0.00" "0.15" "0.45" 
"0.18" "0.03" "0.01" "0.06" "0.05" ...
 - attr(*, "dimnames")=List of 2
 ..$ : chr [1:7] "cold" "active.low.value" "active.low.medium.value" 
"active.medium.value" ...
..$ : chr [1:7] "cold" "active.low.value" "active.low.medium.value" 
"active.medium.value" ...

Когда я делаю поэлементное умножение, это выдает мне эту ошибку:

Error in segments[, i - 1] %*% transition2 : 
 requires numeric/complex matrix/vector arguments

Чтобы противостоять этому, я делаюследующее:

 transition2<-as.numeric(as.character(transition2))

но ошибка все равно не исчезает

это результат dput

dput(transition2)
structure(c("0.00", "0.00", "0.01", "0.00", "0.05", "0.00", "0.00", 
"0.15", "0.45", "0.18", "0.03", "0.01", "0.06", "0.05", "0.07", 
 "0.21", "0.43", "0.21", "0.04", "0.01", "0.00", "0.00", "0.05", 
 "0.27", "0.56", "0.24", "0.04", "0.00", "0.00", "0.00", "0.04", 
 "0.16", "0.54", "0.20", "0.01", "0.04", "0.00", "0.00", "0.01", 
 "0.12", "0.68", "0.05", "0.74", "0.29", "0.07", "0.03", "0.00", 
 "0.01", "0.89"), .Dim = c(7L, 7L), .Dimnames = list(c("cold", 
 "active.low.value", "active.low.medium.value", "active.medium.value", 
 "active.upper.medium.value", "active.high.value", "inactive"), 
 c("cold", "active.low.value", "active.low.medium.value", 
 "active.medium.value", "active.upper.medium.value", "active.high.value", 
 "inactive")))

Это то, что я умножаю на

печать (сегменты)

                      2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025

 cold                        12   NA   NA   NA   NA   NA   NA   NA   NA   NA   
 NA

 active low value           408   NA   NA   NA   NA   NA   NA   NA   NA   NA   
 NA

  active low medium value    546   NA   NA   NA   NA   NA   NA   NA   NA   
  NA   NA

  active medium value        923   NA   NA   NA   NA   NA   NA   NA   NA   
  NA   NA

 active upper medium value  578   NA   NA   NA   NA   NA   NA   NA   NA   NA   
 NA

  active high value          306   NA   NA   NA   NA   NA   NA   NA   NA   
  NA   NA

  inactive                   227   NA   NA   NA   NA   NA   NA   NA   NA   
 NA   NA

Мой ожидаемый результат должен быть следующим:

2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025

холодно 12 11 10 99 9 8 8 8 8 8

активное низкое значение 408 334 299 279 268 261 256 253 250 248 247

активное низкое среднее значение 546 493 447 413 387 367 351 338 327 319 311

значение активной среды 923 880 836 794 756 722 693 669 649 631 617

значение верхней активной среды 578 576 568 556 544 532 521 512 503 496 490

значение высокой активной 306 313327 341 355 368 378 387 394 400 405

неактивно 227 392 513 607 681 742 792 834 869 898 923

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...