R では、私を困惑させるのは常に小さなことです。
次のようなデータ フレームがあるとします。
location species
1 seattle A
2 buffalo C
3 seattle D
4 newark J
5 boston Q
このフレームに、ある場所がデータ セットに出現する回数を示す列を追加すると、次のような結果が得られます。
location species freq-loc
1 seattle A 2 #there are 2 entries with location=seattle
2 buffalo C 1 #there is 1 entry with location=buffalo
3 seattle D 2
4 newark J 1
5 boston Q 1
table(data$location)
を使用すると、分割表が得られることを知っています。しかし、テーブル内の各値をデータフレーム内の対応するエントリにマップする方法がわかりません。誰か助けてくれませんか?
アップデート
本当にありがとうございました!参考までに、ベンチマーク テストを実行して、merge、plyr、および ave ソリューションが互いにどのように実行されるかを比較しました。テスト セットは、元の 10 × 7mil のデータ セットの 10,000 行のサブセットです。
Unit: milliseconds
expr min lq median uq max neval
MERGE 110.877337 111.989406 112.585420 113.51679 120.23588 100
PLYR 26.305645 27.080403 27.576580 27.87157 68.40763 100
AVE 2.994528 3.117255 3.179898 3.35834 10.02955 100