2016-11-14 12 views
0

私は発生した0の周波数を知りたいと思います。そのための簡単な方法はありますか?私はそれは私に次のような結果を与えるv1v2周波数を数え、周波数をゼロにする方法は?

library(plyr) 
count(mydf, c('v1','v2')) 

の周波数を確認するには、このいずれかを使用

mydf <-data.frame(v1= c("a","b","b","a","b"), v2 =c("l1", "l2","l1","l1","l2")) 

v1 v2 freq 
1 a l1 2 
2 b l1 1 
3 b l2 2 

私の出力にゼロを入れたいと思います。たとえば、al2の組み合わせは発生しませんでした。どのようにして次の出力を得ることができますか?

v1 v2 freq 
1 a l1 2 
2 b l1 1 
3 b l2 2 
4 a l2 0 
+1

as.data.frame(表(mydf $ V1、V2 mydf $)) –

+0

シンプルなハック:あなたは因子レベルのすべての組み合わせを持つデータフレームを生成するためにexpand.gridを使用することができます。それでは、既に持っている結果と一緒に参加することができます。 – lbusett

+0

あなたは 'dplyr'パッケージを使い、'このライブラリ(dplyr) nf%>%group_by(v1、v2)%>%summarize(no = n()) 'のようにsthを実行できますが、' Freq == 0' – Mateusz1981

答えて

3
table(mydf$v1, mydf$v2) 

    l1 l2 
    a 2 0 
    b 1 2 

as.data.frame(table(mydf$v1, mydf$v2)) 
    Var1 Var2 Freq 
1 a l1 2 
2 b l1 1 
3 a l2 0 
4 b l2 2