일반 문제 : 다른 그룹의 조건을 기반으로 값을 만드는 방법을 이해하지 못합니다. 내가 좋아하는 일을하고 싶습니다 :다른 그룹의 데이터를 기반으로 한 그룹의 조건부 플래그 행
gen x = cond(cond1==1 & cond2==1, value[**of some other row in a different group**], other_value)
특정 문제 : 절대 변경 id
에 따라 그룹이 대규모 데이터 세트 및 않는 보조 ID (co_id
)을 감안할 때. 각 그룹에는 time
에서 반복되는 여러 행이 있습니다. 각 행은 특정 시간에 다른 그룹 (즉, id
)과의 관계를 나타내는 플래그 (is_a
)를 갖는다. 그 관계는 co_id
으로 변경되어 표시되므로 다른 그룹과 같습니다. 올해 플래그가 지정된 행 (is_a == 1
) 새로운 co_id
가 속한 그룹의 id
을 찾기위한
- 하고, 다른 그룹에 대해
- , 플래그 :
나는이 일을하려고 접속이 상술 한 예에서는
에게 만들어진 것을 GROU p 111
은 11
시간에 그룹 222
에 연결되었습니다 (한 번만 연결됨). 새로운 co_id
'xzx'
을 기반으로 그때부터 id
이 222
임을 나타내려고합니다. 다른 그룹에는 co_id
이있을 수 있지만 올바른 것은 데이터에있는 co_id
의 가장 초기 모양입니다 (따라서 하나는 222
이고 777
이 아님).
그룹 222의 경우 연결이 설정되었을 때 그 시간을 플래그로 표시합니다 (time == 11
).
샘플 데이터 :
clear
input int id byte(is_a time) str3 co_id
111 0 10 "abc"
111 0 10 "abc"
111 1 11 "xzx"
111 1 11 "xzx"
111 1 12 "xzx"
111 1 12 "xzx"
222 0 10 "xzx"
222 0 10 "xzx"
222 0 11 "xzx"
222 0 11 "xzx"
222 0 12 "xzx"
222 0 12 "xzx"
777 1 13 "xzx"
end
사전에 감사합니다!
사람들이 복사하여 붙여 넣을 수있는 데이터의 예를 제공해주십시오. 'ssc inst dataex'는 작은 데이터 예제를'input' 코드로 제공합니다. 얼마나 많은 사람들이 이미지에서 보는 것을 다시 입력하려고합니까? 또한 _rows_라는 용어는 Stata 토론이 스프레드 시트 토론과 마찬가지로 Stata 토론과는 다릅니다. –
접근 방식이 재사용 될 수있는'vlookup '이라는 사용자 작성 명령이 있지만, 기성품으로는 작동하지 않습니다. –
@ 닉콕스가 추가되었습니다. 죄송합니다. 감사합니다. –