私の質問は、いくつかの因子変数を持つデータフレームがあります。ここで、このデータフレームに新しいベクトルを割り当てます。これにより、これらの因子変数のサブセットごとにインデックスが作成されます。
data <-data.frame(fac1=factor(rep(1:2,5)), fac2=sample(letters[1:3],10,rep=T))
私に次のようなものを与えます:
fac1 fac2
1 1 a
2 2 c
3 1 b
4 2 a
5 1 c
6 2 b
7 1 a
8 2 a
9 1 b
10 2 c
そして、私が欲しいのは、各因子の組み合わせの発生をカウントする組み合わせカウンターです。このような
fac1 fac2 counter
1 1 a 1
2 2 c 1
3 1 b 1
4 2 a 1
5 1 c 1
6 2 b 1
7 1 a 2
8 2 a 2
9 1 b 2
10 1 a 3
これまでのところ、tapplyを使用して、すべての因子の組み合わせに対してカウンターを取得することを考えました。これは正常に機能します。
counter <-tapply(data$fac1, list(data$fac1,data$fac2), function(x) 1:length(x))
しかし、非効率的なループを使用せずに、データフレーム内の組み合わせにカウンターリスト(リストされていないなど)を割り当てる方法がわかりません:)