年|国|成長率の列を持つデータフレームがあります。各国の成長率を選択した他の国と比較し、特定の年に成長率が高かった国をフィルター処理したいと考えています。
そこで、最初のステップは、すべての国と選択した国の成長率の差を取ることだと考え、ここまでたどり着くことができました。
difference <- ddply(data, .(year), transform,
x=growth_rate - 4)
これにより、必要な最初のデータフレームが得られます。ハードコードされた 4 のみが、選択した国 (カナダとしましょう) の対応する年の成長率である必要があります。私は次のようなものを試しました:
difference <- ddply(data, .(year), transform,
x=growth_rate - data[country=="Canada",]$growth_rate)
しかし、これは正しくありません。
これを正しく理解したら、次のステップは、x>0 の行のみをフィルタリングすることです。
どんな助けでも大歓迎です。
これは私のデータフレームがどのように見えるかです:
> head(data)
iso2c country growth_rate year
1 1A Arab World 3.911548 2012
2 1A Arab World 5.282387 2011
3 1A Arab World 4.648676 2010
4 1A Arab World 2.253365 2009
5 1A Arab World 6.509886 2008
6 1A Arab World 5.634384 2007