行的每个值如何与每个表的值进行比较?更具体地说,假设我有下表:R:基于所有行的每行的条件
DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6),
v=1:9,w=as.integer(rnorm(9)*10))
> DT
## x y v w
## 1: a 1 1 0
## 2: a 3 2 0
## 3: a 6 3 6
## 4: b 1 4 -4
## 5: b 3 5 -27
## 6: b 6 6 10
## 7: c 1 7 4
## 8: c 3 8 1
## 9: c 6 9 7
我怎么能找到w的数量大于每个w? 所需的输出:
> DT1
## x y v w count
## 1: a 1 1 0 2 # 0 is greater than -4 and -27
## 2: a 3 2 0 2
## 3: a 6 3 6 6
## 4: b 1 4 -4 1
## 5: b 3 5 -27 0
## 6: b 6 6 10 8
## 7: c 1 7 4 6
## 8: c 3 8 1 3
## 9: c 6 9 7 7
非常感谢你。我将结合如下两个答案:'DT [,count:= sapply(w,function(x)sum(x> w))]' – DJJ 2015-03-03 21:06:55