数値データと係数データを含むテーブル (data.frame) があり、そのうちのいくつかは文字変数 (「species」、「Fam_name」、「gear」など) であり、「重量」の小計 (合計) を計算したい各「ss」の「数値」変数。
「集計」関数を使用してみましたが、「ギア」変数の文字値を返すことができませんでした。
以下は私のテーブルの頭です
survey station ss species weight number bdep lon lat Sci_name Fam_name gear
1 2012901 1 2012901001 CARSC04 11.20 20 23 37.61650 19.14900 Scomberoides lysan CARANGIDAE TB
2 2012901 1 2012901001 SCMGR02 0.98 2 23 37.61650 19.14900 Grammatorcynus bilineatus SCOMBRIDAE TB
3 2012901 2 2012901002 NOCATCH 0.00 0 6 38.48333 18.71667 NO CATCH NO CATCH TB
4 2012901 3 2012901003 LUTLU06 5.65 1 6 38.48333 18.71667 Lutjanus bohar LUTJANIDAE TB
5 2012901 3 2012901003 SHACAB1 4.00 1 6 38.48333 18.71667 Triaenodon obesus CARCHARHINIDAE TB
6 2012901 4 2012901004 NOCATCH 0.00 0 9 38.48333 18.71667 NO CATCH NO CATCH TB
バインドを使用して2つを組み合わせる目的で、次のコードを使用してみましたが、
catch1<-aggregate(cbind(weight, number) ~ ss, data = catch, FUN = sum)
catch2<-aggregate(cbind(survey, station, bdep, lon, lat, gear) ~ ss, data = catch, FUN=median)
しかし、最初の行は私が望むことを行います-各「ss」の合計、他の結果は「ギア」の数値中央値になりますが、その特定の「ss」の「ギア」コードを返したいです。
「ギア」要素の再構築(BrodieG に感謝):
catch2$gear <- factor(levels(catch$gear)[catch2$gear], levels=levels(catch$gear))
問題が解決しました :-)