Arrays 如何从R中的表填充矩阵的单元格

Arrays 如何从R中的表填充矩阵的单元格,arrays,r,matrix,Arrays,R,Matrix,我有一个从现有data.frame创建的表,它看起来像: tab <- as.table( matrix(c(0.625, 0.625, 0.375, 0.375, 1, 1), nrow=2, dimnames=list(action = c("1", "Sum"), status = c("fail", "pass", "Sum"))) ) # status #action fail pass Sum # 1 0.625 0.375 1.000 #

我有一个从现有data.frame创建的表,它看起来像:

tab <- as.table(
  matrix(c(0.625, 0.625, 0.375, 0.375, 1, 1), nrow=2, 
  dimnames=list(action = c("1", "Sum"), status = c("fail", "pass", "Sum")))
)

#      status
#action  fail  pass   Sum
#   1   0.625 0.375 1.000
#   Sum 0.625 0.375 1.000
因此,我想从
选项卡的第一行获得.625和.375,并将其放入
p1
的第一个矩阵的第一行,以获得:

#, , 1
#
#       within   out
#within  0.625 0.375
#out     0.000 0.000
#
#, , 2
#
#       within out
#within      0   0
#out         0   0

您在这里似乎陷入了一堆代码,而不是
p1[1,1],但您可以这样做:

p1[1,,1] <- tab["1",c("fail","pass")]
#or
p1[1,,1] <- tab[1,1:2]

#, , 1
#
#       within   out
#within  0.625 0.375
#out     0.000 0.000
#
#, , 2
#
#       within out
#within      0   0
#out         0   0

我真的不知道你在这里干什么。你知道我们看不到你的数据吗?我会更新我的问题。我想根据经验分布计算成功和失败的概率,并更新p1的转移概率矩阵值。我编辑并更新了你的问题,而不是p1[1,,1]。这是你问问题时的最终目标。简化,以便只解决您的核心问题,并提供任何人都可以运行和检查结果的数据。
p1[1,,1]<-matrix(c(tab[1,1],tab[1,2]),2,1,byrow = TRUE)
p1[1,,1] <- tab["1",c("fail","pass")]
#or
p1[1,,1] <- tab[1,1:2]

#, , 1
#
#       within   out
#within  0.625 0.375
#out     0.000 0.000
#
#, , 2
#
#       within out
#within      0   0
#out         0   0