統計ソフトSTATAの部屋 Ver.2
■ このスレッドは過去ログ倉庫に格納されています
統計ソフト STATAを使って統計解析をするスレです。 日本語の良いソースが少ないので盛り上げましょう。 前スレが順調に!?88まで行ったんですが、落ちてしまったので再開です。 Rがスラスラと使いこなせる人にはStataは不要かもしれない。 しかし、RはバージョンやOSシステムが変わるだけで挙動が不安定・不確実になるので、 講義で使用する場合など難しいケースが多い。 経済学の最新のパッケージが平易なコマンドで利用できる点など を考えるとやはりStataは優秀。 URLが変わったせいかな!? メモ書き set more on set more off 実行結果を位置画面毎に止めるか止めないか。 set trace on set trace off Stataの処理を一行ずつ丁寧に吐き出してくれるコマンド Keywords デバック モード 一行毎 プログラム プログラミング 結果をその都度 変数 どうでもいいけど、面白かったんで。 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" stataを勉強し始めるのに何かいいものないですか?おしえてください >>307 SPSSが学内サーバーを通して使えるので、Rを覚える必要がないと思う学生も多い。 でも一旦卒業するとその環境が継続する人は稀なわけで、Rも併行して覚えておいた方が良いよと言ってる。 STATAも提供されてるけど、稼働率はSPSSよりかなり低い模様。 Stata14最高ですね。日本語対応なんて・・と思っていましたが、Unicodeがちゃんと使えることでデータ解析がこんな居捗るとは思ってもいませんでした。 Stata8から基本コマンドは変わらないので、古くても大丈夫!と思っていましたが、Stata14は早速ポチりました! これはStata分かりにくいだろ! by class: egen number_of_male=count(gender=="male") なんと上記では、男性の数を数えるのではなくてクラスの総人数を数えてしまう! 欠損値はカウントしない様子。 クラスごとの男子生徒の人数を出したいなら下記でOKということ。 egen number_of_male=sum(gender=="male"), by(class) >320 それは抜群の安定性があるからです。 Rはバージョンやプラットフォームが変わるととたんに挙動が怪しくなります。 >>321 Stataに不満は少ないんだが、少ない不満のいくつかとして挙げるとすると 1. バージョンが変わると.data形式が変わって読めなくなる。 直近のバージョンだと互換性は保たれているが少し離れると、 複数のバージョンでデータ形式を整えないといけない。 まぁCSVを介したりすればいいんだけどね。 2. 図表の調整はコマンドで全て記録されない。 これは多分開発側も考えていてRecordボタンなど有るんでしょうけどね。 私が使う範囲では、これくらいかな。贅沢な悩みかもしれない。 お久しぶりです。 Stataの正規表現って最小マッチできないのかな? あけましておめでとうございます。今年もよろしくお願い申し上げます。 公衆衛生の授業で触ってよかったなと思って 大学院に入って使い始めたら周りにStataユーザーが皆無で 困ったなと思ったらHelpが超充実していてなんとかなりそうな気がしてきた。 複数の変数について、特定のidだけ表示できる方法 やっと見つけたんで、一応共有を なんて、みんな知ってるもんなんかな。 browse id syussinti if inlist(id, 1256, 1338) 書き込みありがとうございます。 > 複数の変数について、特定のidだけ表示できる方法 > やっと見つけたんで、一応共有を なんて、みんな知ってるもんなんかな。 面白そうですが、いまいち問題定義が分かりません。 何か具体例を出して頂けますか? 解決案は少し自分で考えてみたいので後で投稿していただけると面白いです!! マ イ ン ド コ ン ト ロ ー ル の手法 ・沢山の人が、偏った意見を一貫して支持する 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法 ・不利な質問をさせなくしたり、不利な質問には答えない、スルーする 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法 偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い 靖 国 参 拝、皇 族、国 旗 国 歌、神 社 神 道を嫌う カ ル ト 10人に一人は カ ル ト か 外 国 人 「ガ ス ラ イ テ ィ ン グ」 で 検 索 を ! 日本人の躾けは『大人の都合』、その目的は威厳に屈服させる為: ある父親:クマが出没する山林に息子を放置、しかも嘘を吐いて保身。 別の父親:勉強の邪魔をして進路を妨害し、学歴を砕く。出世を強要。 ソレでも「親の行為は子供の為」という傲慢な常識を振り回す世間、しかも 「親を尊敬して大切に扱え」という無根拠な思想を押し付ける儒教文化。 お父さん、お母さんを大切にしましょう!!!ソレが世間体というモノ! ケケケ¥ 政治家も、お教授も、権力を振り回すのが大好きな低能人種: ある男:ボクは都民の為に湯河原で休んでるんだ。知事が信じられんのかっ! 別の男:オレは哲也の為に指導してやってるんだ。父親が信じられんのかっ! 上から目線で強弁すれば、自分の言い分は何でも通る国があるらしい… ああ、素晴らしき日本文化よ。キミ達も国会議員を見習い給え。何せ多数決で選 ばれた『皆の代表』なので。だからある男も別の男もエラいんだよォ〜〜〜んw コココ¥ 終わり良ければ全てヨシ。途中経過はどうでもヨシ。 大学:学生の知能なんてどうでもヨシ。カネが儲かる教室を巧みに運営シロ。 狸研:研究の詳細なんてどうでもヨシ。世間が驚く大論文を外国に発表シロ。 芳雄:学問の中身なんてどうでもヨシ。安易に教授になれる分野を専攻シロ。 学問なんて所詮は出世の道具。周囲に秀才っぽく見せ掛けられたらソレでヨシ。 社会的に高い地位、そして豪華で贅沢な暮らし。世間が羨む大学教授のポスト。 ソレさえ手に入れば学問そのものなんて洋梨よォ〜〜〜ん。 よよよ、よ〜〜〜しお。そやしノ〜ベル賞が欲しいよォ〜〜〜んんんwww シシシ¥ ここ数年分を、ど初心者にもわかりやすく書いてくれら、私はあなたを神と呼ぶことにするであろう コレ使ってcommerceの売り上げをアプしたいんや 手取り足とり頭とり教えてや >>353 普通にダミー使っての重回帰で良くね?あまり考えなくてもさ… 流入元とかあるなら色々面倒だけどろ 久しぶりにメモ Stataはクオーテーションマーク関連に煩い。 1. 書き込み失敗した。 久しぶりにメモ 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)) もうひとつ 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 { 変数名が無い場合の処理 } と記載できる。 なんかもうすこし活発な日本のStataコミュニティって無いのかな。 >>374 stata使える時点で英語読めないとイマイチなわけだし、日本語で聞くよりも前に英語で聞くか、ラインストーンに電話してしまうんじゃね stataのdo fileとか出力結果ってsdkとして読み出したりパイソンあたりと連携できたりするのかな? c()やp()の使い方と意味がわからないんだけど、誰か教えてください。 今日のメモ 知らなかった。 for num 1/10 \ num 2/11 \ num 3/12: gen aX=X \ gen aY=Y \gen aZ=Z for numの使い方 これ忘れていた・・・ プログラムで作成すれば余計なコマンドが表示されないんだった! 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を呼び出す変数名など*/ tabstat 今まであまり使っていなかったけど便利。 tabstat 複数変数名, stat(n sum mean)で複数変数名の観察数、0 or 1変数なら1の合計, 平均値が出る。 ただ残念なのことに、変数名の表示方法を指定できない(ハズだ)から、変数名を省略しないで表示したい場合には、 adoファイルまで戻って、colwdithを書き換えないといけない(ハズ)。 誰かもっと良い方法があれば教えて欲しい。 Statalistでもsummarizeコマンドで同様のDiscussionがあった。 私のためのメモ capture ds foreach i in `r(varlist)'{ コマンド } これ便利。 dsでr(varlist)というローカル変数に変数名リストが全てリストアップされる。 全ての変数に対してあるコマンドを繰り返し実行することが可能。 dsコマンドはヘルプを見ると分かるが、色々と使い勝手が良さそう。 変数名が32文字までしかダメなためプログラム内でエラーを起こさない工夫。 多分、使い捨ての変数を使う方法がこの2ch内の記事にもあったが 以下の方法でも出来たので私のためのメモ。 clear capture program drop test program test syntax varlist foreach i of local varlist{ local j `=strtoname(abbrev("`i'",29))' gen new`j' = 1 } end input thisvarname_has_32characterslong short_name 1 1 2 2 3 3 end test thisvarname_has_32characterslong short_name des ,f >>386 一時変数(使い捨て変数)の作成方法 >>199 に記載があった。 再掲 プログラム内のみで使う変数には tempvar 変数名 を使う。 変数名には__000001のような名前が付けられるが、 プログラム内ではユーザーは上記で指定した変数名が使える。 >>300 多重比較の問題ですね。 Stataのコマンドというよりは、多重比較について考えると良いと思います。 下記サイトなど参考になると思います。 http://www.ibaraki-kodomo.com/toukei/posthoc.html tukeyhsdはユーザが作ったコマンドです。 使い方としては、ネットがつながった環境で、Stataから下記コマンドを打つとリスト出てくるので net from http://stats.idre.ucla.edu/stat/stata/ado/analysis リストからtukeyhsdを選択し次の画面でclick install 同様にqsturngもインストールします(tukeyhsdを使うために必要らしい)。 インストールが完了すればヘルプファイルから分かると思いますが、 例えば下記を試してみて下さい。 webuse systolic,clear anova systolic drug tukeyhsd drug です。 ああ、2年以上も前の質問にまた回答してしまった。 進歩がないなぁ。 ☆☆☆馬鹿板は数学徒の脳を腐らせる悪い板であり、そやし廃止してナシにすべき。☆☆☆ ¥ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる