作者JamesChen ( )
看板Statistics
標題[程式] Stata loop question
時間Thu Jul 18 14:32:37 2013
[軟體程式類別]:
Stata
[程式問題]:
資料處理
[軟體熟悉度]:
高(1年以上)
但從來沒寫過 stata 的 loop
[問題敘述]:
forv x=1/5 {
replace p1 = (x-1)*6+1 if whiteplayer=="A" & group==x
replace p2 = (x-1)*6+1 if greenplayer=="A" & group==x
replace p1 = (x-1)*6+2 if whiteplayer=="B" & group==x
replace p2 = (x-1)*6+2 if greenplayer=="B" & group==x
replace p1 = (x-1)*6+3 if whiteplayer=="C" & group==x
replace p2 = (x-1)*6+3 if greenplayer=="C" & group==x
replace p1 = (x-1)*6+4 if whiteplayer=="D" & group==x
replace p2 = (x-1)*6+4 if greenplayer=="D" & group==x
replace p1 = (x-1)*6+5 if whiteplayer=="E" & group==x
replace p2 = (x-1)*6+5 if greenplayer=="E" & group==x
replace p1 = (x-1)*6+6 if whiteplayer=="F" & group==x
replace p2 = (x-1)*6+6 if greenplayer=="F" & group==x
}
程式碼很簡單 就是 x = 1 到 5 帶進去做這幾個 replace
可是他給我錯誤 x not found 讓我摸不著頭緒
難道我要先定義 x ?
感謝回答
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.40.116
1F:→ JamesChen:我搞定了... 把 x 改成 group 然後 07/18 14:46
2F:→ JamesChen:& group==x 都刪掉就成功了... 07/18 14:47
3F:→ JamesChen:看來是我把 MATLAB 那個邏輯帶來了... 07/18 14:47
4F:推 Yukirin:用for系列迴圈的時候 不能直接叫x 要用`x'才會是你要的 07/18 19:40