Arrays 如何从R中的表填充矩阵的单元格
我有一个从现有data.frame创建的表,它看起来像: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 #
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