我剛剛開始學習Stata,並且我很難。 我的問題是這樣的:我有兩個不同的變量,ATC
和A
,其中A
可能是ATC
的子字符串。 現在我想標記A
是ATC
的子字符串與OK = 1
的所有觀察。Stata嵌套foreach循環子串比較
我想這用一個簡單的嵌套循環:
foreach x in ATC {
foreach j in A {
replace OK = 1 if strpos(`x',`j')!=0
}
}
但是,每當我跑這個循環沒有變化正在作出即使應該有很多。 我覺得我應該給一個索引指定哪個OK
正在改變(屬於ATC
/x的那個),但我不知道該怎麼做。這可能很簡單,但我一直在努力一段時間。
我應該澄清:我A
名單是從主列表(簡單地附加到)分離,只包含我用它來識別ATC
S的我想唯一的密鑰。所以我有〜120 A
-鍵和幾百萬個鍵ATC
。我想要做的是迭代每密鑰爲每個A
鍵,並標記ATC
鍵A
合格。
這意味着我沒有完整的元組(ATC
,A
,OK
),而是分開不同大小的列表。 例如:我有
ATC OK A
ABCD 0 .
EFGH 0 .
... ... ...
. . AB
. . ET
,並希望結果是"ABCD"
有OK
被標記爲1
而"EFGH"
保持在0
。
我編輯了我原來的帖子。我應該從一開始就給出一個例子,謝謝你的幫助。我爲我差的格式化等道歉,因爲我不使用這個網站非常。 – user2299050 2014-12-07 00:47:28
刪除「可能」。問題現在很清楚。 – 2014-12-07 01:04:46
感謝您的關閉! – 2014-12-07 01:47:02