如何使用表

时间:2016-05-16 11:09:35

标签: r rows

我遇到了命令" table"的问题。我比较了两个元素为0或1的矩阵。我想要巧合和0或1中的重合,所以我写道:

> asd=table(prob1,prob_obs_mod1)
> asd
     prob_obs_mod1
prob1      0      1
    0 650620 289511

问题是它在prob1中没有显示1的行,因为它为零。我的意思是,我想要" table"告诉我:

    prob_obs_mod1
prob1      0      1
    0 650620 289511
    1      0      0

如何指定我想拥有所有行,甚至是零行?

1 个答案:

答案 0 :(得分:3)

诀窍是将levels分配给您的向量,以便计算每个级别的出现次数。试试这个:

#simulate some data
set.seed(1)
prob1<-rep(0,940131)
prob_obs_mod1<-sample(0:1,length(prob1),T)
#no row corresponding to 1
table(prob1,prob_obs_mod1)
#     prob_obs_mod1
#prob1      0      1
#    0 469799 470332
#Here it appears
table(factor(prob1,levels=0:1),factor(prob_obs_mod1,levels=0:1), dnn=c("prob1","prob_obs_mod1"))
#     prob_obs_mod1
#prob1      0      1
#    0 469799 470332
#    1      0      0