2014-09-23 3 views
0

Предположим, у меня есть кадр данных с несколькими категориальными функциями. Как вычислить таблицу распределения FREQ, используя для цикла вместо того, чтобы найти индивидуальное распределениеПрименение для цикла в 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 

Update: Как создать графики:

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

enter image description here

+0

Thank You Sven :) ... Возможно ли одновременное построение этих распределений? – Learner27

+0

@ user3718501 Вы хотите, чтобы они появлялись в одном сюжете? –

+0

бок о бок в одном рисунке – Learner27

Смежные вопросы