私は簡単なことに固執していますが、data.tableマニュアルまたはその周辺の解決策を見つけることができませんでした。data.tableカテゴリ別に索引付けされた行数
dt<-data.table(account=c("treu65","treu65","treg23","treg23","treg23"),year=c("2012","2013","2013","2013","2012"))
アカウントと年ごとに行数を含む列を追加する必要があります。問題は、2つの別々の列を作成する必要があることです。一つはそうと同じように、2012年の2013年 のために他のカウントが含まれています:
account year count2012 count2013
1: treu65 2012 1 1
2: treu65 2013 1 1
3: treg23 2013 1 2
4: treg23 2013 1 2
5: treg23 2012 1 2
通常、私は集約しますが、この場合には、私は、上記と同様の構造を必要としています。 私は限りました:
dt[year==2012,count2012:=.N,.(account)]
dt[year==2013,count2013:=.N,.(account)]
しかし、私は今のNAを持っている:
account year count2012 count2013
1: treu65 2012 1 NA
2: treu65 2013 NA 1
3: treg23 2013 NA 2
4: treg23 2013 NA 2
5: treg23 2012 1 NA
そして、私が取得する必要があります。
account year count2012 count2013
1: treu65 2012 1 1
2: treu65 2013 1 1
3: treg23 2013 1 2
4: treg23 2013 1 2
5: treg23 2012 1 2
ありがとうございました。
あなたがi
位置の行をカウントする
j
位置へと
sum
を使用します(これによってあなたが唯一の特定の行を変更することができるようになります)からフィルターを移動することができます
なぜ 'count2013'は '1'を取得'treu65 2012'では' '2' 'treg23 2012'では? – PoGibas
account == "treu65"&year == 2013の1行、account == "treg23"&year == "2013"の2行があるためです。 –