X



トップページ数学
459コメント222KB
統計ソフトSTATAの部屋 Ver.2
■ このスレッドは過去ログ倉庫に格納されています
0001ごろ
垢版 |
2010/09/10(金) 10:54:10
統計ソフト STATAを使って統計解析をするスレです。
日本語の良いソースが少ないので盛り上げましょう。

前スレが順調に!?88まで行ったんですが、落ちてしまったので再開です。
0268ごろ
垢版 |
2012/07/05(木) 23:17:10.65
>>266
勉強して教えてください。
教えることは最高の学びともいいますし。

(^O^)/ただで勉強しようと思うなヽ(`Д´)ノプンプン
0269初心者
垢版 |
2012/07/21(土) 15:38:27.94
はじめまして。STATAのコマンドを調べていて辿り着きました。
そして早速ですが質問させてください。
グラフの凡例(legend)を右に表示させ、かつラベルを縦1列に並べたいのですが、この縦1列に並べるコマンドが分かりません。
helpを参照するとlegendオプションのstyle( )というのが怪しいのですが上手くいかず。
Graph EditorでlegendのColumnsを1にすれば目的の形にはできるのですが、コマンドが知りたいです。
ご存知の方がいらっしゃいましたらどうぞよろしくお願い致します。

参考までにサンプルデータで作ったものを書いておきます。
・データ
year group freq
2000 1 1
2010 1 2
2000 2 3
2010 2 4
2000 3 5
2010 3 6
2000 4 7
2010 4 8

・コマンド
twoway (line freq year if group==1)/*
*/ ( line freq year if group==2)/*
*/ ( line freq year if group==3)/*
*/ ( line freq year if group==4),/*
*/ legend(position(3))

4本の線グラフが表示される。
今の状態ではグラフ右側に2×2の形でラベルが表示されるがこれを1列にしたい。
0271初心者
垢版 |
2012/07/21(土) 17:02:20.38
>>270
269です。
素早いご解答ありがとうございます
そして無事c(1)でできました。感動!
column(1)とか色々打ち込んでみてたのですが、c( )だったんですね。

ちなみにそういう情報はSTATAのhelpなどで検索できますか?
コマンドを調べるのにいつも手間取っていて。。
後学のため、ご存知でしたら教えて頂けると大変助かります。
0272132人目の素数さん
垢版 |
2012/07/21(土) 18:36:26.76
>>271
省略しない場合、colsのようです。
検索は、Help→Searchで、適宜どうぞ。今回の場合はlegendで。
0273馬鹿を焼く描写 ◆ghclfYsc82
垢版 |
2012/07/22(日) 12:01:58.85
勉強や努力が足りなくて優秀になれない奴が惨めな思いをするのは当然
なんだよ。それを自分で何もせずに優秀な人間の足を引っ張るとは言語
道断である。他人を貶めるだけで自分は楽をする奴は恥を知れ。今後も
そういう馬鹿者を発見次第、即刻攻撃を掛けて当該スレを焼け野が原に
するので、覚悟をする様に願いたい。こういう考え方が国家を滅ぼす。
無能な馬鹿は自滅するに任せ、優秀な人材こそを選択的に抽出し、それ
を国家が意図して保護しなければならない。そうする事が国家が生き残
る唯一の道である。繰り返す。何の努力もしない馬鹿を無条件に保護す
れば、その結果として誰も努力しなくなるだけである。だから馬鹿を保
護しては絶対にならない。



>みんなで優秀な人間の足を引っ張って沈もうよ。
>そうすれば自分だけが馬鹿で惨めな思いをしなくて
>すむから楽チン。
>一億総白痴可で横並びになれば怖くは無い
>
0274初心者
垢版 |
2012/07/25(水) 11:28:30.70
>>272
ありがとうございます。
help確認してみました。確かにcolsですね。
私もlegendのヘルプは何度か見ていたのですが、cols見逃していました。。
お手数をおかけしてすみません。

syntaxをいつも頑張って解読しようとするのですがなかなか力及ばず。
helpやマニュアル(黒い冊子)片手にこれからも頑張ります。

初心者なりに最近驚いたことを一つ。
stataで小数点を含む数値を扱うときはfloat()関数が必要。
count if 変数名==0.1 ではなく count if 変数名==float(0.1) としなければならない。

気づくまでは数が合わなくてオロオロしてました。
0275描者の品格 ◆ghclfYsc82
垢版 |
2012/07/25(水) 12:15:25.77


>367 :匿名希望:2012/07/23(月) 17:23:38.69
> >>365
> 頭悪いのはお前の方だろ?
> 「猫」という字を「描」に間違えやがってwww
> 小学生並みの頭の悪さだぞ、お前!
> 焼かれるのはお前の方だろ?
> 外国では猫の丸焼きというゲテモノ料理もあるらしいぜwww
>
0276132人目の素数さん
垢版 |
2012/09/08(土) 19:56:43.18
STATAで、重回帰分析にpropensity scoreって使えるんですかね?
2群比較やロジスティックはわかるんですけど。
0277132人目の素数さん
垢版 |
2012/09/09(日) 01:44:35.92
猫は?
0279ごろ
垢版 |
2012/10/01(月) 18:16:35.89
お久しぶりです。
>>276
>propensity score使えるようですよ
SPSSでは一応使えるけどっていうレベルみたい。SPSSの中の人が言っていた。
やっぱりRかな。でもStataいいっす。
0280ごろ
垢版 |
2012/10/02(火) 17:21:13.92
>>274
小数点問題
ちょうど私もハマってしまいました。
ここにまとめておくと調べるのにも便利ですね。
情報ありがとうございます。
この情報の公式な発表とかありますか?

ちょっとググったら、
ttp://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=20&ved=0CHkQFjAJOAo&url=http%3A%2F%2Fwww.rpi.edu%2F~simonk%2Fpdf%2FUsefulStataCommands.pdf&ei=H6NqUP3UIe3LmAX0kYDABQ&usg=AFQjCNGWGyuzTiMvneGJkgFjA5Wr38qvYw&sig2=PP6RQkXbjVehu3TUwAvPgQ
のここに書いてありました。
K.Data Types,When 3.3 3.3,andMissingValues
0282ごろ
垢版 |
2012/10/09(火) 17:21:41.65
foreach n of numlist 1(1)255 {
di `n' , char(`n')
}
charコマンドで特殊な文字列を表現できる。でも日本語フォントはダメみたい。

ずっと文字列を変数名と認識させる方法を探しているが見つからない。
. input testdesu
testdesu
1. 1009
2. 9001
3. end

. di testdesu
1009

. di ("test"+"desu")
testdesu

最後のところでちゃんと1009と表示させる方法を探している。
. di ("test"+"desu")ここは実際はもっと複雑なstring functionコマンドです。
単純な方法がありそうなんだけどなぁ
0285ごろ
垢版 |
2012/10/10(水) 12:41:57.29
>>282
解決しました!
local i = "test"+"desu"
di `i'
でOKでした。
単純でしたね。
0286ごろ
垢版 |
2012/10/11(木) 11:04:15.04
*log using forabstract.log, txt append /* easy to read, but Japanese will dissapear*/
do "C:\Users\MSC12-03\Dropbox\HOME\2013JPS\forconfidence.do"

replace confidence=. if confidence==999
save forconfidence2012-10-10.dta,replace

ttest confidence ,by(experience)
ranksum confidence, by(experience)
0287ごろ
垢版 |
2012/10/11(木) 11:07:45.12
Doファイルの中でDoファイルを作成して実行する方法
capture program drop makedofile
program makedofile
syntax anything
qui{ /*これがポイント。これでログファクィルのヘッダーを出力しない。*/
capture log close
log using newdofile.do , text replace
}
di "clear"
di "input str10 newvarname data1 data2"
foreach i of local anything {
local x = _N
foreach j of numlist 1(1)`x' {
di originalvarname " " /*ここにdata1, data2用の命令*/
}
}
di "end"
qui {
log close
}
end

makedofile /*originaldataを呼び出す変数名など*/
0288132人目の素数さん
垢版 |
2012/10/11(木) 12:39:49.81
回帰係数がt分布で検定できることの説明ができる人、どうぞ
0289ごろ
垢版 |
2012/10/11(木) 13:19:56.61
>>285
di `="test"+"desu"'
でも出来ました〜。
0292ごろ
垢版 |
2012/12/26(水) 16:58:41.83
はやいものですなぁ
もう今年も残す所あとわずか・・
0295ごろ
垢版 |
2013/11/11(月) 11:14:41.10
おお、まだ残っていましたね。
もう1年たつんだ。
>>159
今日散歩していたら急に思いついた。StataでSleepsortする方法。
上手くできたらまた書き込みます。
0296132人目の素数さん
垢版 |
2013/11/11(月) 14:58:14.93
>>295
よくよく考えなおしたら、Sleep Sortの理論上、バックグラウンドで複数の関数が実行出来ないと
無理なんですね。あーダメだ。やるとしたらStataから別のプログラムを操作する方法を考えないとダメかな。
0297ごろ
垢版 |
2014/03/13(木) 23:06:29.99
このページ、我ながら本当に役に立つ。
ネットさえ繋がれば、忘れたSyntaxのコツなど検索ですぐに見つかるから助かる。

今日も自分のためにメモ。



/*
あるテキストデータの先頭にある文字列に
特定の文字列(複数可)を含んでいるかどうかを判定し、
新しい変数名にその結果を格納するプログラム

下記はやっと動いた例。
上手く行かなかったコードも残しておきます。
理由は良くわかりません。
分かる方お教え下さい。
*/
長くなったのでプログラム本体は次の投稿で
0298ごろ
垢版 |
2014/03/13(木) 23:08:41.03
capture program drop testprogram
program testprogram
syntax namelist
local newvarname = "`1'"
gen `1' = 0
foreach i of local namelist {
local j= length("`i'")
replace `newvarname' = 1 if substr(textdata,1,`j')== "`i'"
}
list
tab `1'
end
/*
下記の方法では上手く行かなかった。
そのためわざわざnewvarnameというlocal変数を使っています。
replace "`1'" = 1 if substr(textdata,1,`j')== "`i'"
*/
testprogram list_pine pine
testprogram pine_and_apple pine apple
0299ごろ
垢版 |
2014/03/13(木) 23:10:05.73
データはこれを使って下さい。
clear
set more off
input id str10 textdata
1 pine
2 apple
3 pineapple
4 pines
5 "pine juice"
6 "pink juice"
7 orange
8 oranges
9 spine
10 "blue pine"
end
0300超初心者
垢版 |
2014/03/15(土) 14:50:47.03
群間の多重比較に関して質問させて頂きます。
カイ2乗検定で、群間の有意差を出した後にさらに2つの群間において多重比較を行いたいのですが、どうすればよいのでしょうか?
STATAで"tukeyhsd"というコマンドを発見したのですが、どう使っていいのか分かりません。
0301ごろ
垢版 |
2014/04/11(金) 05:51:27.61
おお、放置プレーしてしまいました。
まず、そのパッケージは、標準で無いので、ネットから、インストールする必要があります。
net install tukeyhsd
で、インストール出来ます。
qsturng.adoも必要そうなのでインストールしましょう。
後は、ヘルプ(help tukeyhsd)の通りですが
tukeyhsd 連続変数, dv(カテゴリカル変数)
で出来ます。


sysuse citytemp
tukeyhsd region, dv(tempjan)
これで、地域毎に1月の気温の比較が、出来ます。

しかし、多重比較する前に、多重比較が本当に良い選択なのか、研究デザインを考えることをお勧めします。
0302132人目の素数さん
垢版 |
2014/04/17(木) 19:29:28.10
stataを使いながらstataの使い方や統計学について知識を得られるサイトと
いうのはないでしょうか?あるいは本はないでしょうか?
0303ごろ
垢版 |
2014/04/25(金) 05:55:39.80
>>302
あまり親切な回答ではないですが、UCLAのサイトとか有名ですね。
0304ごろ
垢版 |
2014/04/25(金) 06:13:22.73
>>302
あ、まじ回答すると、StataのHelpがかなり優秀なんで、
StataのHelpを見ていれば大抵のことは分かります。
サンプルプログラムもあります。

>>2
にもまとめていましたね。

statalist@hsphsun2.harvard.edu
このメーリングリストの回答はググればネット上でも閲覧できます。
内容が高度なことが多いですが、困ったときにググると大抵回答があります。
それでも見つからない時には、メーリングリストの会員になって、
質問したら良いと思います。
0307132人目の素数さん
垢版 |
2014/05/05(月) 04:11:39.20
STATAとRって一般にどっちが優れているんですか?
やっぱり一長一短ですか?
0308ごろ
垢版 |
2014/05/13(火) 11:38:51.76
Rがスラスラと使いこなせる人にはStataは不要かもしれない。
しかし、RはバージョンやOSシステムが変わるだけで挙動が不安定・不確実になるので、
講義で使用する場合など難しいケースが多い。

経済学の最新のパッケージが平易なコマンドで利用できる点など
を考えるとやはりStataは優秀。
0309ごろ
垢版 |
2014/07/12(土) 00:39:01.39
なんか書き込めない。テスト
0310ごろ
垢版 |
2014/07/12(土) 00:42:28.91
URLが変わったせいかな!?

メモ書き
set more on
set more off
実行結果を位置画面毎に止めるか止めないか。

set trace on
set trace off
Stataの処理を一行ずつ丁寧に吐き出してくれるコマンド

Keywords デバック モード 一行毎 プログラム プログラミング 結果をその都度 変数
0311ごろ
垢版 |
2014/09/19(金) 10:11:29.60
どうでもいいけど、面白かったんで。
Stata helpに存在しない関数の説明があった!!
strcat(s1,s2)
Domain s1: strings
Domain s2: strings
Range: strings
Description: There is no strcat() function. Instead the addition operator is used to concatenate strings:
"hello " + "world" = "hello world"
"a" + "b" = "ab"
0312ごろ
垢版 |
2014/11/16(日) 09:54:51.58
Stataの日本語環境どうにかならないかなぁ
0314132人目の素数さん
垢版 |
2014/12/29(月) 10:43:19.32ID:Phz2K+Xn
>>307
SPSSが学内サーバーを通して使えるので、Rを覚える必要がないと思う学生も多い。
でも一旦卒業するとその環境が継続する人は稀なわけで、Rも併行して覚えておいた方が良いよと言ってる。
STATAも提供されてるけど、稼働率はSPSSよりかなり低い模様。
0315イスラム金融系最高指導者遅獄先生−主対性卓上理論より実戦
垢版 |
2014/12/30(火) 16:57:39.87ID:ISKEAmyr
統計で時間を早められない。
0316イスラム金融系最高指導者遅獄先生−主対性卓上理論より実戦
垢版 |
2014/12/30(火) 16:58:09.54ID:ISKEAmyr
それがオジサンおばさんの限界
0318ごろ
垢版 |
2015/06/24(水) 09:48:34.05ID:iMJRcMt7
Stata14最高ですね。日本語対応なんて・・と思っていましたが、Unicodeがちゃんと使えることでデータ解析がこんな居捗るとは思ってもいませんでした。
Stata8から基本コマンドは変わらないので、古くても大丈夫!と思っていましたが、Stata14は早速ポチりました!
0319ごろ
垢版 |
2015/07/03(金) 12:30:32.10ID:VcMQhWuQ
これはStata分かりにくいだろ!
by class: egen number_of_male=count(gender=="male")

なんと上記では、男性の数を数えるのではなくてクラスの総人数を数えてしまう!
欠損値はカウントしない様子。

クラスごとの男子生徒の人数を出したいなら下記でOKということ。
egen number_of_male=sum(gender=="male"), by(class)
0321ごろ
垢版 |
2015/07/17(金) 11:42:38.84ID:0TOemjko
>320
それは抜群の安定性があるからです。
Rはバージョンやプラットフォームが変わるととたんに挙動が怪しくなります。
0323ごろ
垢版 |
2015/09/13(日) 01:00:54.60ID:DXV7Mj5O
>>322
ttest
0324ごろ
垢版 |
2015/09/13(日) 11:13:06.46ID:DXV7Mj5O
>>321
Stataに不満は少ないんだが、少ない不満のいくつかとして挙げるとすると
1. バージョンが変わると.data形式が変わって読めなくなる。
直近のバージョンだと互換性は保たれているが少し離れると、
複数のバージョンでデータ形式を整えないといけない。
まぁCSVを介したりすればいいんだけどね。

2. 図表の調整はコマンドで全て記録されない。
これは多分開発側も考えていてRecordボタンなど有るんでしょうけどね。

私が使う範囲では、これくらいかな。贅沢な悩みかもしれない。
0325ごろ
垢版 |
2015/09/13(日) 11:14:24.47ID:DXV7Mj5O
>>324
あ、.dtaだったね。データ形式。
0326ごろ
垢版 |
2015/12/04(金) 21:59:25.03ID:sdVKKjOJ
お久しぶりです。
Stataの正規表現って最小マッチできないのかな?
0327ごろ
垢版 |
2016/01/01(金) 09:36:13.69ID:xTr3fpeg
あけましておめでとうございます。今年もよろしくお願い申し上げます。
0328132人目の素数さん
垢版 |
2016/04/16(土) 22:56:08.77ID:6RAjlRZE
公衆衛生の授業で触ってよかったなと思って
大学院に入って使い始めたら周りにStataユーザーが皆無で
困ったなと思ったらHelpが超充実していてなんとかなりそうな気がしてきた。
0329132人目の素数さん
垢版 |
2016/05/04(水) 07:57:56.62ID:liMuA23p
複数の変数について、特定のidだけ表示できる方法
やっと見つけたんで、一応共有を
なんて、みんな知ってるもんなんかな。

browse id syussinti if inlist(id, 1256, 1338)
0330ごろ
垢版 |
2016/05/18(水) 11:43:54.97ID:PzPRpvWP
書き込みありがとうございます。
> 複数の変数について、特定のidだけ表示できる方法
> やっと見つけたんで、一応共有を なんて、みんな知ってるもんなんかな。
面白そうですが、いまいち問題定義が分かりません。
何か具体例を出して頂けますか?
解決案は少し自分で考えてみたいので後で投稿していただけると面白いです!!
0348132人目の素数さん
垢版 |
2016/05/22(日) 00:38:50.70ID:eiV1vWEJ
マ イ ン ド コ ン ト ロ ー ル の手法

・沢山の人が、偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法

偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い

靖 国 参 拝、皇 族、国 旗 国 歌、神 社 神 道を嫌う カ ル ト

10人に一人は カ ル ト か 外 国 人

「ガ ス ラ イ テ ィ ン グ」 で 検 索 を !
0350132人目の素数さん
垢版 |
2016/07/14(木) 07:10:34.15ID:NLJZUe4v
Mac良いよ〜
0351◆2VB8wsVUoo
垢版 |
2016/07/14(木) 07:24:00.46ID:W/q5qfz4
日本人の躾けは『大人の都合』、その目的は威厳に屈服させる為:
ある父親:クマが出没する山林に息子を放置、しかも嘘を吐いて保身。
別の父親:勉強の邪魔をして進路を妨害し、学歴を砕く。出世を強要。
ソレでも「親の行為は子供の為」という傲慢な常識を振り回す世間、しかも
「親を尊敬して大切に扱え」という無根拠な思想を押し付ける儒教文化。

お父さん、お母さんを大切にしましょう!!!ソレが世間体というモノ!

ケケケ¥

政治家も、お教授も、権力を振り回すのが大好きな低能人種:
ある男:ボクは都民の為に湯河原で休んでるんだ。知事が信じられんのかっ!
別の男:オレは哲也の為に指導してやってるんだ。父親が信じられんのかっ!
上から目線で強弁すれば、自分の言い分は何でも通る国があるらしい…

ああ、素晴らしき日本文化よ。キミ達も国会議員を見習い給え。何せ多数決で選
ばれた『皆の代表』なので。だからある男も別の男もエラいんだよォ〜〜〜んw

コココ¥

終わり良ければ全てヨシ。途中経過はどうでもヨシ。
大学:学生の知能なんてどうでもヨシ。カネが儲かる教室を巧みに運営シロ。
狸研:研究の詳細なんてどうでもヨシ。世間が驚く大論文を外国に発表シロ。
芳雄:学問の中身なんてどうでもヨシ。安易に教授になれる分野を専攻シロ。

学問なんて所詮は出世の道具。周囲に秀才っぽく見せ掛けられたらソレでヨシ。
社会的に高い地位、そして豪華で贅沢な暮らし。世間が羨む大学教授のポスト。
ソレさえ手に入れば学問そのものなんて洋梨よォ〜〜〜ん。

よよよ、よ〜〜〜しお。そやしノ〜ベル賞が欲しいよォ〜〜〜んんんwww

シシシ¥
0352132人目の素数さん
垢版 |
2016/08/03(水) 22:34:25.89ID:RetPXQAc
ここ数年分を、ど初心者にもわかりやすく書いてくれら、私はあなたを神と呼ぶことにするであろう
0353132人目の素数さん
垢版 |
2016/08/24(水) 13:14:53.63ID:w89vX+Fy
コレ使ってcommerceの売り上げをアプしたいんや
手取り足とり頭とり教えてや
0354132人目の素数さん
垢版 |
2016/08/24(水) 13:23:49.03ID:82xMB2d4
>>353
普通にダミー使っての重回帰で良くね?あまり考えなくてもさ…
流入元とかあるなら色々面倒だけどろ
0355ごろ
垢版 |
2016/09/07(水) 16:38:13.01ID:BSJMfCpj
久しぶりにメモ
Stataはクオーテーションマーク関連に煩い。
1.
0356ごろ
垢版 |
2016/09/07(水) 16:38:48.40ID:BSJMfCpj
書き込み失敗した。
久しぶりにメモ
Stataはクオーテーションマーク関連に煩い。
1. "
2. '
3. “
4. ”
5. ‘
6. ’
7. `
上記全て違う扱い1,2,7はStataで使える。
7はマクロの左側で使うやつ `macro'
全角・半角・日本語・英語を気をつけていてもエディタによっては間違える
ちなみに文字コードは下記の通り
1.print(chr(34))
2.print(chr(39))
3.print(chr(8220))
4.print(chr(8221))
5.print(chr(8216))
6.print(chr(8217))
7.print(chr(96))
0357ごろ
垢版 |
2016/09/07(水) 16:52:47.89ID:BSJMfCpj
もうひとつ
Stata Programmingでどつぼにはまったのでメモ
プログラムにオプションを付けるときsyntaxのみではカンマ(,)を上手く取り除いてくれないのtokenizeを使う。実は、
>>202
に概出
解決方法
program testprogram
syntax namelist [,Option]
tokenize "`0'" ,parse(" ,")
...
end
この ,parse(" ,")がキモ ,parse(",")は駄目
””の中に半角スペースと,が入っていてこれで分けるというコマンド
この後、`1' , `2'で取り出し可能。
ちなみに[,Option]は省略可能で,o や ,opt や ,optionと記載OK
これ以外、例えば,otと書くとエラー
プログラム内では記載が無ければ`option'というマクロに""が
記載があれば`option'というマクロに"option"が入る。

も一つ
capture hogehogeと記載すると
_rcというシステム変数に入力される
エラーが無ければ0が、エラーがあればそのエラー番号が入力される
だからこれを利用して
capture confirm variable 変数名
if _rc {
変数名が無い場合の処理
}
else {
変数名がある場合の処理
}
裏返しで
capture confirm variable 変数名
if !_rc {
変数名がある場合の処理
}
else {
変数名が無い場合の処理
}
と記載できる。
■ このスレッドは過去ログ倉庫に格納されています