RでSEM(共分散構造分析/構造方程式モデリング)
![[画像] 母親価値 → {相互作用経験, 協調性}](http://www.kagitaku.com/diary/images/110131_母親価値 → {相互作用経験, 協調性}_t.png)
R を使った SEM(共分散構造分析/構造方程式モデリング)のやり方を勉強する機会があったので、メモしておきます。
環境は Windows Vista Home Premium SP2 × R 2.10.1 × Graphviz 2.26.3 です。
SEM を行うときのデータは『心理統計学の基礎:統合的理解のために』(南風原朝和)の第10章 第5節にある子どもの協調性の発達に関する例を使いました。上の画像のように、「母親が子どもの協調性に価値をおいている程度」と「幼稚園・保育園での友だちとの相互作用の経験の量」「子どもの協調性」の因果関係を考えるモデルです。それぞれの潜在変数を y01、y02、y03、y04 の4つ、y05、y06、y07、y08 の4つ、y09、y10、y11、y12 の4つで測定したデータです。
……続きを読む »
FirefoxのEvernoteアドオンの設定画面が真っ白になって動かない不具合を解決する方法
Evernote って便利ですよね。僕はまだまだ使いこなせていませんので、これからもっとお世話になろうと思っています。最近よく使っているのはウェブクリップ機能です。「Evernote Web Clipper」という Firefox アドオンを使えば特定のウェブページ(の特定の部分)を簡単に Evernote クリップできちゃうという優れものです。
Evernote Web Clipper、たいへん重宝しているのですが、なぜか突然動かなくなる&設定画面が真っ白になるという不具合に遭遇してしまいました。なんとか解決できたので、そのメモエントリです。
……続きを読む »
Railsのfindで複数のテーブルから検索する:includeでeager loading
Ruby on Rails でデータベースから検索を行う場合、通常は Model.find メソッドを使いますが、複数のテーブルを組み合わせて検索する方法をメモしておきます。
今回考えるのは、people(人)と entries(ブログの記事)という2つのテーブルがあり、people テーブルの要素 age(年齢)と entries テーブルの要素 created_at(投稿日時)の2条件で絞るという場合です。例えば「現時点で20歳未満の未成年が2010年4月1日以降に投稿したブログ記事を検索する」みたいな。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # people entries +----+-----+ +----+-----------+---------------------+ | id | age | | id | person_id | created_at | +----+-----+ +----+-----------+---------------------+ | 1 | 24 | | 1 | 1 | 2010-07-01 10:11:12 | | 2 | 18 | | 2 | 2 | 2010-01-01 10:11:12 | | 3 | 48 | | 3 | 3 | 2010-09-01 10:11:12 | | 4 | 17 | | 4 | 4 | 2010-06-01 10:11:12 | | 5 | 20 | | 5 | 5 | 2010-03-01 10:11:12 | | 6 | 23 | | 6 | 6 | 2010-08-01 10:11:12 | | 7 | 19 | | 7 | 7 | 2010-09-01 10:11:12 | | 8 | 29 | | 8 | 8 | 2010-02-01 10:11:12 | | 9 | 31 | | 9 | 9 | 2010-04-01 10:11:12 | | 10 | 22 | | 10 | 10 | 2010-05-01 10:11:12 | +----+-----+ +----+-----------+---------------------+ # a person has many entries |
本物のアウトプットはこんな風にはなりませんがご愛嬌ということでご勘弁を。
……続きを読む »
WordPressでシンタックスハイライト:WP-Syntaxを使ってみた
これまでブログで何かのコードを書いていても単に <pre> タグで括って CSS で等幅フォント指定しているだけでしたが、最近 Ruby やら Rails やらのコードも書くようになったので憧れの(?)シンタックスハイライターを導入してみました。
このブログは WordPress を使っているので、きっと素晴らしいプラグインがあるはずだ! ということで、探してみたらありましたよ。WP-Syntaxなるプラグインが。
……続きを読む »
Ruby1.8.7以降ではtruncateメソッドの仕様が変わったらしくエラーが起きる
『基礎Ruby on Rails』を手にウェブアプリケーション "Morning Glory" を作成していたわけですが、第6章のデータを MySQL にインポートしたら以下のようなエラーが生じてしまいました。
1 2 | NoMethodError in Main#index undefined method `length' for #<enumerable::enumerator:0xb676c440></enumerable::enumerator:0xb676c440> |
問題の「Main#index」ってのは以下の RHTML ファイルです。どうやらこれの8行目にある truncate メソッドが引っかかっているご様子。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | < % @side_bar_template_name = 'side_bar' -%> <div id="whats_new"> <h2>What's New</h2> <ul> < % @new_articles.each do |a| -%> <li>< %= link_to h(a.heading), :action => a.place, :anchor => "article_#{a.id}" %> < %= truncate(h(a.body), 20) %></li> < % end -%> </ul> </div> <div id="main"> < % @top_articles.each do |a| %> <h2>< %= h(a.heading) %></h2> < %= simple_format(h(a.body)) %> < % end -%> </div> |
結論から言うと、これは Ruby のバージョンというか仕様に対してもともとのコードが噛み合ってないのが原因のようです。解決策は以下のとおり。
……続きを読む »
![[画像] Evernote Web Clipperの設定画面が真っ白](http://www.kagitaku.com/diary/images/110101_evernote_web_clipper.png)
![[画像] 今日の気になる記事「きにきじ」QR Code](http://www.kagitaku.com/diary/images/qrcode.png)
![[画像] きにきじ Feed](http://www.kagitaku.com/diary/images/Newspaper_Feed_128x128_ie6.png)
![[画像] kagitaku.com ロゴ](http://www.kagitaku.com/common/images/logo.png)





![[画像] 最上部へ](http://www.kagitaku.com/common/images/pageNavi-toTop.png)
![[画像] 最下部へ](http://www.kagitaku.com/common/images/pageNavi-toBottom.png)
![[画像] 履歴を戻る](http://www.kagitaku.com/common/images/pageNavi-back.png)
![[画像] 履歴を進む](http://www.kagitaku.com/common/images/pageNavi-forward.png)
![[画像] Contact](http://www.kagitaku.com/common/images/pageNavi-contact.png)
![[画像] Sitemap](http://www.kagitaku.com/common/images/pageNavi-sitemap.png)