内のすべての行を保つ他の因子のレベルによって集計値が、私はこのような構造を有するRにデータフレームを有するR
SiteID Unrelated AirMonitor WaterMonitor SoilMonitor
1 A dog 1 0 0
2 A cat 0 1 0
3 A catamount 0 0 1
4 B bird 0 1 0
5 B horse 0 0 1
6 C monkey 1 0 0
1
での存在を示しますそのサイトのそのタイプのモニター(モニタの列を必要に応じて"Y"
と"N"
の値に変更することができます)。基本的には、モニターの存在をSiteID
で集計したいが、Unrelated
列のデータが失われないようにすべての行を保持したい。私は1
の値を0
の値よりも勝ちたいと思っています。たとえば、SiteID
Aの行にAirMonitor
の1
がある場合、SiteID
Aのすべての行にAirMonitor
の1
が必要です。他の2つのモニタータイプにも同じです。
所望の出力:
SiteID Unrelated AirMonitor WaterMonitor SoilMonitor
1 A dog 1 1 1
2 A cat 1 1 1
3 A catamount 1 1 1
4 B bird 0 1 1
5 B horse 0 1 1
6 C monkey 1 0 0
実際のデータセットは、いくつかのより多くの無関係な列と行の数千を持っています。これを行うには簡単な方法が必要です(おそらくaggregate
?で)。
ありがとうございました!私は 'c(" AirMonitor "、" WaterMonitor "、" SoilMonitor ")で置き換えた' -c(1:2) 'をどこにでも置いていました。 – rilkehayden
'sapply'が行う単純化から行列へのプロセスを避けるためにおそらく' lapply'を使用します。 – thelatemail