2014-10-10 36 views
0

我有一個分類數據集,我試圖總結說,這些數據集在被問到的問題的性質上存在內在的差異。下面的數據代表了一個有標準封閉式問題的調查問卷,也是一個可以從列表中選擇多個答案的問題。 「村莊」和「收入」代表了封閉的問題。 「負責人1」等......代表被訪者對每個人說「是」或「否」的列表。重新格式化R中的分類數據

VILLAGE INCOME   responsible.1 responsible.2 responsible.3 responsible.4 responsible.5 
    j  both   DLNR    NA    DEQ    NA   Public 
    k  regular.income DLNR    NA    NA    NA   NA 
    k  regular.income DLNR    CRM    DEQ    Mayor  NA 
    l  both   DLNR    NA    NA    Mayor  NA 
    j  both   DLNR    CRM    NA    Mayor  NA 
    m  regular.income DLNR    NA    NA    NA   Public 

我要的是「村」的纏繞成ftable「負責任的」負責任的變量的一套3路表的輸出。這樣,我可以使用包含多個R包的表格進行圖形和分析。

 RESPONSIBLE    
VILLAGE INCOME   responsible.1 responsible.2 responsible.3 responsible.4 responsible.5 
j  both   2    1    1    1    1 
k  regular income 2    1    1    1    0 
l  both   1    0    0    1    0 
m  regular income 1    0    0    0    1 

as.data.frame(table(village, responsible.1)會得到我的第一次,但我無法弄清楚如何獲得一個不錯的ftable結束了整個事情。

+0

是第二個表顯示了預期的結果? – 2014-10-10 21:01:15

+0

是的,第二個表具有「RESPONSIBLE」作爲具有五級答案的變量名稱。其他兩個變量是不言自明的。你還可以建議如何將我們的「整潔」表粘貼到評論板以避免剛剛發生的事情? – 2014-10-10 21:17:59

+0

您可以通過單擊「{}」圖標來格式化問題中的代碼 – 2014-10-10 21:18:53

回答

1
> aggregate(dat[-(1:2)], dat[1:2], function(x) sum(!is.na(x))) 
    VILLAGE   INCOME responsible.1 responsible.2 responsible.3 responsible.4 responsible.5 
1  j   both    2    1    1    1    1 
2  l   both    1    0    0    1    0 
3  k regular.income    2    1    1    1    0 
4  m regular.income    1    0    0    0    1 

我猜你實際上有另一個分組矢量,也許是第一個「負責任」的列?

我真的不明白的排序規則,但扭轉了分組列的順序可能是更接近你貼:

> aggregate(dat[-(1:2)], dat[2:1], function(x) sum(!is.na(x))) 
      INCOME VILLAGE responsible.1 responsible.2 responsible.3 responsible.4 responsible.5 
1   both  j    2    1    1    1    1 
2 regular.income  k    2    1    1    1    0 
3   both  l    1    0    0    1    0 
4 regular.income  m    1    0    0    0    1 
+0

這看起來不錯,但我怎樣才能把它變成一個ftable(即3-way表,適用於分類圖和loglm)?會喜歡「負責任的1等等」,包裹在一個變量「RESPONSIBLE」中,該變量包含在3-way ftable中。 – 2014-10-10 21:31:26

+0

如果您希望看到針對其他數據問題的解決方案,請發佈一個提供足夠的複雜性以請求修正的示例。 – 2014-10-10 21:34:03

+0

請不要使用「etc」作爲請求的描述。我在問題陳述中對這個縮寫形成了強烈的過敏反應。 – 2014-10-10 21:38:09