我有两个数据框,这是第一个:
df <- data.frame(p=letters[1:3],y1=c(2,4,3))
df
p y1
1 a 2
2 b 4
3 c 3
第二个:
df2 <- data.frame(p=rep(letters[1:3],c(3,2,4)),y2=c(3,1,1,4,3,4,3,3,1),d=rep(1,length=9))
df2
p y2 d
1 a 3 1
2 a 1 1
3 a 1 1
4 b 4 1
5 b 3 1
6 c 4 1
7 c 3 1
8 c 3 1
9 c 1 1
我想要做的是让那些行 in ,对于(a,b,c 等) wheredf2
的每个值(在这种情况下都是行),大于in分组。p
d=1
y2
y1
p
df
因为这个解释可能没有意义,需要踢的两行:line 1 indf2
,因为 for a
,y2=3
大于y1=2
in df
,第 6 行,因为 for c
in df2
,y
值为 4,但 in 的c
值为df
3 .
由于我正在使用 data.tables,因此“data.table-solution”会很好,可能类似于:
setkey(df2,d)
df2[1,y>??,by="p"]