2015-10-20 52 views
1

說我有2個向量:x <- ['Y', 'N', 'Y', 'N', 'Y']y <- [1,1,0,1,1](這只是一個表示,而不是r代碼)。我想通過調用table(x,y)來獲得R中的應急表。這將給我一個列名爲「0」,「1」和行名爲「Y」,「N」的2×2列聯表。但是,當y <- [1,1,1,1,1],功能調用table(x,y)將給我一個2×1列聯表,只有1列名稱爲「1」,2行名稱爲「Y」,「N」。我如何強制table()給我一個2×2的表,其中列爲「0」,「1」,在這種情況下,行爲「Y」,「N」?或者我可以手動插入一列到結果表中?R:如何將標籤/列添加到應急表?

+0

@bunk這是一個簡單的答案!我是R新手,所以我不知道「因素」。你能寫這個答案嗎?我會接受它。 – Denzel

+0

x < - ['Y','N','Y','N','Y']在R中是錯誤的。應該是x < - c('Y','N','Y',' N','Y') –

回答

0

您可以將y轉換爲一個因子,其中levels設置爲包含y可以採用的其他可能值。 R中的因素很常見,基本上只是帶有字符標籤的整數向量。

table(x, factor(y, levels=0:1)) 
# x 0 1 
# N 0 2 
# Y 0 3 

值得一提的是,您也可以使用這些級別來格式化表格輸出。例如,如果您首先需要「1」列,並且需要「N」之前的「Y」,則可以使用以下代碼:

table(factor(x, levels=c("Y","N")), factor(y, levels=1:0))