我遇到了一个简单的问题,但是没有在data.table手册或这里找到解决方案。
dt<-data.table(account=c("treu65","treu65","treg23","treg23","treg23"),year=c("2012","2013","2013","2013","2012"))
我需要按帐户和年份添加一个包含行数的列。问题是我需要创建两个单独的列。一个将包含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)]
但我现在有NAs:
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
谢谢。
答案 0 :(得分:2)
您可以将过滤器从readarray -t -d '' -O "${#in[@]}" in
位置(您只能修改特定行)移至i
位置并使用j
计算行数:
sum