2016-12-06 53 views
3

Я пытаюсь сделать таблицу непредвиденных ситуаций (частоты), используя таблицу() в R для двух целых переменных, но параметр по умолчанию в таблице не включает все значения в диапазон для каждого. Например:Включить нулевые частоты в таблице 2-полосной частоты/непредвиденных ситуаций

a=c(1,2,3,5) 
b=c(1,1,2,3) 
table(a,b) 

возвращается:

1 2 3 
1 1 0 0 
2 1 0 0 
3 0 1 0 
5 0 0 1 

Я хотел бы, чтобы дать:

1 2 3 
1 1 0 0 
2 1 0 0 
3 0 1 0 
4 0 0 0 
5 0 0 1 

Это простой пример, в котором значение '4' не в одном из векторы. Я знаю, что могу манипулировать им в массиве и добавить строку с нулем, но мне интересно, есть ли более простой способ автоматически сделать это, когда переменные могут охватывать сотни (разреженных) целочисленных значений.

ответ

5

способ получить это

a=factor(c(1,2,3,5), levels=1:5) 
b=factor(c(1,1,2,3), levels=1:5) 
table(a,b) 
+1

Я думаю, вы просто значит 'стол (фактор (уровень = 1: 5), б)' – thelatemail

+0

Это было бы еще лучше – G5W

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