0
Я хочу знать частоты, которые произошли 0. Есть ли простой способ для этого?считать частоту, как иметь нулевые частоты?
mydf <-data.frame(v1= c("a","b","b","a","b"), v2 =c("l1", "l2","l1","l1","l2"))
Я использую этот один, чтобы увидеть частоты v1
и v2
library(plyr)
count(mydf, c('v1','v2'))
Это дает мне следующий результат.
v1 v2 freq
1 a l1 2
2 b l1 1
3 b l2 2
Я хочу иметь нули в моем выходе. Например, комбинация a
и l2
так и не произошла. Как я могу получить следующий результат?
v1 v2 freq
1 a l1 2
2 b l1 1
3 b l2 2
4 a l2 0
as.data.frame (таблица (mydf $ v1, v2 mydf $)) –
Простой хак: Вы можете использовать expand.grid для создания кадра данных со всеми комбинациями уровней факторов. Тогда вы можете просто присоединиться к этому с результатом, который у вас уже есть. – lbusett
вы можете использовать пакет 'dplyr' и делать так, как' this library (dplyr) nf%>% group_by (v1, v2)%>% sumize (no = n()) ', но он теряет строку, где' Freq == 0' – Mateusz1981