2015-11-02 29 views
1

我有一个表,从现有data.frame,它看起来像创建:如何填充基质的细胞从一个表中的R

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

我真的不知道你在做什么这里。你确实意识到我们看不到你的数据? – thelatemail

+0

我会更新我的问题。 – user

+0

我更新了表 – user

回答

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) 
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 
+0

谢谢它适用于我,它更清洁 – user