2014-09-23 84 views
0

假設我有一個包含幾個分類特徵的數據框。如何計算頻率分佈表使用for循環,而不是尋求獨立分佈在R中應用循環來計算頻率分佈

我用下面的代碼:

data 
     a b c 
1 class 1 1 M 
2 class 2 0 F 
3 class 3 0 M 
4 class 1 1 F  
5 class 1 1 F 
6 class 2 1 M  
7 class 1 0 F 
8 class 1 0 F 
9 class 2 1 M  
10 class 2 1 M 
11 class 3 1 F  
12 class 3 0 F  

>b<-data$b 
>b.freq<-table(b) 
>b.freq 

0 1 
5 7 

我想對所有的變量做到這一點帶有for循環的更大集合。

感謝

回答

2

幫助,如果你想將table功能適用於所有列,您可以使用lapply

> lapply(data, table) 
$a 

class 1 class 2 class 3 
     5  4  3 

$b 

0 1 
5 7 

$c 

F M 
7 5 

更新:如何創建地塊:

par(mfrow = c(1, length(data))); 
lapply(data, function(x) barplot(table(x))) 

enter image description here

+0

謝謝你斯文:) ...是否有可能同時繪製這些分佈? – Learner27 2014-09-23 08:49:22

+0

@ user3718501你想讓它們出現在一個陰謀嗎? – 2014-09-23 08:51:14

+0

並排在一個圖 – Learner27 2014-09-23 08:54:24