我有一个表,是从现有的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
我想将这些值填充到数组中的一行p1
:
p1 <- array(0,c(2,2,2))
colnames(p1)=c("within","out")
rownames(p1)=c("within","out")
所以我想从tab
的第一行获得.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
答案 0 :(得分:2)
你似乎在这里乱七八糟的代码,但你可以这样做:
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
答案 1 :(得分:0)
而不是p1[1,,1]<-matrix(c(tab$p,tab$f),2,1,byrow = TRUE)
我必须在p1矩阵内设置制表符的每个单元格的位置。这将是
p1[1,,1]<-matrix(c(tab[1,1],tab[1,2]),2,1,byrow = TRUE)