5
複数の列の値のいくつかの要約統計量を抽出したいと思います。各固有IDの要約を取得するには
for (i in levels(df$id))
{
extract.event <- df[df$id==i,]# To identify each section
ppace <- table(extract.event$pace) #count table of pace
ptype <- extract.event$type[1] # extract the first line to be the type
nvalues <- table(extract.event$value) #count table of value
nabundance <- min(extract.event$abundance) #minimum of abundance
d <- cbind(ppace,ptype,forbeh,nvalues,nabundance)
が、私は値をマージ問題に実行しています:私はいくつかのコードを書い始めている
id pace type value abundance
51 (T) (JC) (L) 0
51 (T) (JC) (L) 0
51 (T) (JC) (H) 0
52 (T) (JC) (H) 0
52 (R) (JC) (H) 0
53 (T) (JC) (L) 1
53 (T) (JC) (H) 1
53 (R) (JC) (H) 1
53 (R) (JC) (H) 1
53 (R) (JC) (H) 1
54 (T) (BC) <blank> 0
54 (T) (BC) <blank> 0
54 (T) (BC) <blank> 0
を次のように私のデータを見て、私はこの
id ptype (T) (R) (L) (H) abundance
51 (JC) 3 0 2 1 0
52 (JC) 1 1 0 2 0
53 (JC) 2 3 1 4 1
54 (BC) 3 0 0 0 0
ような何かを期待しています特に、空きが空のテーブルを印刷するとき。私はデータフレームに非常に多くの名前があるので、名前で抽出したくないと思います。何か案は?私はplyrパッケージに何かかもしれないと思ったが、それでもわからない...
おかげで、
グレース
part2があなたの望むデータフレームの出力に似ている編集を参照してください。 –
'集合(cbind(値、ペース、豊富)〜id +タイプ、データ= lapply(df、as.character)そこに少し簡単に – user2957945
それはきちんとしたコード行ですが、豊富を追加すると、0と1のカウントを処理することに気付くでしょう。さらに、集計は実際には内部に行列を持つデータフレームを残します。パート1 as.list集約オブジェクトでdo.call + cbindを使用して、名前をより明確にし(質問のとおり)、適切にフォーマットしました(単純なdata.frame)。 Part2(醜い見た目)は、単にOPが尋ねるように見えるように強制します。私はcbindの使い方が好きです。+1 –