내가 두 dataframes이를 사용하여, 여기에 처음이다 :절차 R
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
는 내가 뭘 원하는 df2
에서 그 라인을 얻을 수있다 여기서 p
(a, b, c 등)의 각 값에 대해 d=1
(이 경우 모든 행) 인 경우 y2
은 을 df
으로 그룹화 한 y1
보다 큽니다. a
를 들어, y2=3
보다 큰 df
에서 y1=2
및 라인 6 때문에, 라인 df2
1에 대한 이유는
이 설명은 아마 이해가되지 않기 때문에
가 필요로하는 두 줄은 쫓아 낼 수df2
에서
c
는
y
값 4를 가지고 있지만
df
에서
c
의 값은 3
나는 data.tables하는 "data.table-솔루션"어쩌면 뭔가처럼, 좋은 것 함께 일하고 있어요 때문에 :
,363,210setkey(df2,d)
df2[1,y>??,by="p"]
한 영업 묻는처럼'data.table'를 사용합니다. –
당신은'merge' 대신'['연산자를 사용해야합니다 -'df'와'df2'가 키'p'를 가진'data.table'라고 가정하십시오 :'df [df2] [d == 1 & y2] y1]' – eddi
@eddi 예 감사합니다. 내 대답을 편집합니다. – agstudy