簡體   English   中英

如何在R中的表中強制包含級別?

[英]How can you force inclusion of a level in a table in R?

有沒有辦法強制R的table函數包括行或列,即使它們從未出現在數據中也是如此? 例如,

data.1 <- c(1, 2, 1, 2, 1, 2, 4)
data.2 <- c(1, 4, 3, 3, 3, 1, 1)

table(data.1, data.2)

退貨

      data.2
data.1  1 3 4
      1 1 2 0
      2 1 1 1
      4 1 0 0

行中缺少3個,列中缺少2個,因為它們沒有出現在數據中。

有沒有一種簡單的方法可以強制將其他零行和零列插入正確的位置,而返回以下內容?

      data.2
data.1  1 2 3 4
      1 1 0 2 0
      2 1 0 1 1
      3 0 0 0 0
      4 1 0 0 0

您需要將向量轉換成factor S,具有所有的每個向量levels ,你想要在輸出中包含。

levs <- sort(union(data.1, data.2))
table(factor(data.1, levs), factor(data.2, levs))
#    
#     1 2 3 4
#   1 1 0 2 0
#   2 1 0 1 1
#   3 0 0 0 0
#   4 1 0 0 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM