试图将我的矩阵转换为R中的数字

时间:2018-06-13 04:29:00

标签: r

我的矩阵的结构就像这样

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(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 9 9 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 313 327 341 355 368 378 387 394 400 405

无效227 392 513 607 681 742 792 834 869 898 923

0 个答案:

没有答案