2011年2月9日水曜日15:23:00

LaTeXで2段組の表や2段組の図をつくるコード めもめも

タグ: , by ゆの

LaTeXで2段組の表や2段組の図をつくるコードをのせるだけの簡単なうんたらかんたら.

表\ref{tb:2段組の表の左側},\ref{tb:2段組の表の右側}に,2段組の表の例を示す.

\begin{table}[htbp]
\begin{tabular}{cc}
\begin{minipage}{0.5\hsize}

 \begin{center}
 \caption{2段組の表の左側}
 \label{tb:2段組の表の左側}
 \begin{tabular}{|c||c|}\hline
 問題番号 & 正答率[\%] \\ \hline \hline
 1 & 70 \\ \hline
 2 & 90 \\ \hline
 3 & 100 \\ \hline
 4 & 20 \\ \hline
 5 & 30 \\ \hline
 6 & 40 \\ \hline
 7 & 0 \\ \hline
 \end{tabular}
 \end{center}

\end{minipage}
\hspace{2mm}
\begin{minipage}{0.5\hsize}

 \begin{center}
 \caption{2段組の表の右側}
 \label{tb:2段組の表の右側}
 \begin{tabular}{|c||c|c|}\hline
 学籍番号 & 性別 & 算数[点] \\ \hline \hline
 001 & 男性 & 50 \\ \hline
 002 & 女性 & 60 \\ \hline
 003 & 男性 & 70 \\ \hline
 \multicolumn{2}{|c|}{平均点} & 60 \\ \hline
 \end{tabular}
 \end{center}

\end{minipage}
\end{tabular}
\end{table}

図\ref{fig:2段組の図の左側},\ref{fig:2段組の図の右側}に,2段組の図の例を示す.

\begin{figure}[htbp]
\begin{minipage}{0.5\hsize}

 \begin{center}
  \includegraphics[width=7cm]{test1.eps}
  \caption{2段組の図の左側}
  \label{fig:2段組の図の左側}
 \end{center}

\end{minipage}
\hspace{5mm}
\begin{minipage}{0.5\hsize}

 \begin{center}
  \includegraphics[width=7cm]{test2.eps}
  \caption{2段組の図の右側}
  \label{fig:2段組の図の右側}
 \end{center}

\end{minipage}
\end{figure}

2011年1月28日金曜日13:23:00

当てはめモデル中には因子がありません - 因子でないものは無視されました

タグ: , by ゆの

統計解析言語Rにて,エラーがでて20分くらい悩んだことのメモ.

number, age, score
001, 20, 100
002, 20, 90
003, 21, 80
004, 22, 90
005, 22, 100
006, 20, 100
007, 21, 100
008, 22, 90
009, 25, 100
010, 23, 100

以上のCSVファイルを,Rに読み込ませ,年齢別に多重比較を行う.多重比較には,TukeyHSDを用いる.

> x <- read.csv( "test_tukey.csv", header=T )
> x
   number age score
1       1  20   100
2       2  20    90
3       3  21    80
4       4  22    90
5       5  22   100
6       6  20   100
7       7  21   100
8       8  22    90
9       9  25   100
10     10  23   100
> summary( aov( x$score ~ x$age ) )
            Df Sum Sq Mean Sq F value Pr(>F)
x$age        1  17.86  17.857  0.3306 0.5811
Residuals    8 432.14  54.018               
> TukeyHSD( aov( x$score ~ x$age ) )
 以下にエラー TukeyHSD.aov(aov(x$score ~ x$age)) : 
   当てはめモデル中には因子がありません 
 追加情報:   警告メッセージ: 
In replications(paste("~", xx), data = mf) :
   因子でないものは無視されました  x$age

年齢部分が,数字なことが問題なので文字列にしてあげる.

> x <- read.csv( "test_tukey.csv", header=T )
> x
   number  age score
1       1 20歳   100
2       2 20歳    90
3       3 21歳    80
4       4 22歳    90
5       5 22歳   100
6       6 20歳   100
7       7 21歳   100
8       8 22歳    90
9       9 25歳   100
10     10 23歳   100
> summary( aov( x$score ~ x$age ) )
            Df Sum Sq Mean Sq F value Pr(>F)
x$age        4 116.67  29.167  0.4375 0.7783
Residuals    5 333.33  66.667               
> TukeyHSD( aov( x$score ~ x$age ) )
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = x$score ~ x$age)

$`x$age`
                   diff       lwr      upr     p adj
21歳-20歳 -6.666667e+00 -36.56666 23.23332 0.8878143
22歳-20歳 -3.333333e+00 -30.07670 23.41003 0.9837917
23歳-20歳  3.333333e+00 -34.48750 41.15416 0.9955281
25歳-20歳  3.333333e+00 -34.48750 41.15416 0.9955281
22歳-21歳  3.333333e+00 -26.56666 33.23332 0.9892146
23歳-21歳  1.000000e+01 -30.11505 50.11505 0.8457803
25歳-21歳  1.000000e+01 -30.11505 50.11505 0.8457803
23歳-22歳  6.666667e+00 -31.15416 44.48750 0.9461657
25歳-22歳  6.666667e+00 -31.15416 44.48750 0.9461657
25歳-23歳  1.421085e-14 -46.32087 46.32087 1.0000000

TukeyHSDがきちんと行われ,分散分析の結果も変化したことがわかる.グループ名には,数値を用いず,文字列を使いましょうという話.だれだ,グループ名を数字で1,2,3,・・・とか安易につけたのは.

例に出したデータに対して,こんな解析しない,ということは横に放り投げておこう.

12:39:00

maxima.exeは動作を停止しました

WindowsVISTA, Windows7において,maximaのインストール直後になにも設定せず,wxMaxima, XMaximaを起動すると,「maxima.exeは動作を停止しました」と表示される.「データ実行防止」のせいなので,実行防止から除外する設定を行えばMaximaは実行出来る.

コントロールパネル > システム > システムの詳細設定 > 詳細設定タブ > パフォーマンス欄の設定ボタンをクリック > データ実行防止タブ > 追加ボタンをクリック > maxima.exeを選択 > 適用ボタンをクリック

maxima.exeの置き場所は,Maximaのインストール先フォルダから,Maxima-○.○.○フォルダ > libフォルダ > maximaフォルダ > ○.○.○フォルダ > binary-gclフォルダ にmaxima.exeが置いてある.たぶん.

2010年7月18日日曜日20:44:00

個人的記法

クラス名、パブリックメソッド、パブリックプロパティ、インターフェース
パスカル記法 GetNumber
メソッド(パブリック以外)
キャメル記法 getNumber
ローカル変数、メンバ変数、メソッド引数
アンダーバー記法 low_number

2010年6月22日火曜日14:37:00

マウスポインタがどのディスプレイ上にあるのか メモメモ...φ(._.*)y-。o0

マウスポインタがマルチディスプレイ上にて、どのディスプレイにあるのかを求める。当たり判定をつかって求める。長方形と点の当たり判定。

        /// <summary>
        /// 長方形と点の当たり判定;
        /// 境界線も含める
        /// </summary>
        /// <param name="rectangle_point">長方形の左上の角の位置</param>
        /// <param name="rectangle_size">長方形のサイズ</param>
        /// <param name="main_point">点の位置</param>
        /// <returns>長方形と点が接触しているかどうか</returns>
        private bool DetectCollisionRectangle ( Point rectangle_point, Size rectangle_size, Point main_point )
        {
            if ( rectangle_point.X <= main_point.X
                && rectangle_point.Y <= main_point.Y
                && rectangle_point.X + rectangle_size.Width >= main_point.X
                && rectangle_point.Y + rectangle_size.Height >= main_point.Y )
                return true;

            return false;
        }

ディスプレイの位置とサイズを長方形とする。

                if ( DetectCollisionRectangle(
                        Screen.AllScreens[i].Bounds.Location,
                        Screen.AllScreens[i].Bounds.Size,
                        Cursor.Position ) )
                {
                    // 省略
                }

あとはてきとーに。

マウスポインタ以外にも、長方形と長方形の当たり判定つかえば、ウィンドウがあるディスプレイを求めることもできる。

当たり判定つかってるけど、もっと簡単に求められる方法とかないのかね。ないなら仕方ないけど。

2010年2月5日金曜日1:08:00

ActionScript twitter メモメモ

KobunTwitterをつくったときのメモ。

   var url:String = "http://twitter.com/home?status=.@";
   var content:String = this.result_id + "さんは"
        + "コブン" + this.kobun_array[num].Number + "号です。"
        + this.kobun_array[num].Description + " "
        + "http://bit.ly/cAzMP7"
        + " #Kbntwt";
   var request_twitter:URLRequest = new URLRequest( url + escapeMultiByte( content ) );

   try
   {
      navigateToURL( request_twitter, "_self" );
   }
   catch (e:Error)
   {
   }

日本語を使う場合は、escape( ... )ではなく、escapeMultiByte( ... )でエスケープしておく。


navigateToURL( ... )でページを遷移して、twitterのログイン画面に行く。ログインすると、いまどうしてる?のテキストボックスの中に、最初から文字が入ってる。


2010年2月4日木曜日23:55:00

bit.ly API メモ  少しだけActionScript

ActionScriptで、KobunTwitterなるものをつくってるとき、途中でbit.lyでURLの短縮サービスを利用しようと思った。だけど、使用するURLひとつだけだし、動的にURLをつくる必要なくね、ということでbit.ly API いろいろ調べたのに意味なくなった。その必要なくなったメモのメモ。

bit.ly APIを利用するにはアカウントが必要なので、アカウントをゲットする。ゲットしたら、ログインして、アカウント情報のところで、英数字がいっぱい書かれたAPI keyを手に入れる。API keyを用いて、bit.ly APIをつかう。

以下のようなアドレスにアクセスすると、短くなったURLを含んだ情報が見れる。以下のURLは、サンプルなので見れないけど。

http://api.bit.ly/shorten?version=2.0.1&login=Your_User_Name&apiKey=Your_API_Key&format=xml&longUrl=your_url

Your_User_Nameには、登録したときのIDを入れて、Your_API_Keyには、先程入手したAPI Keyを入れる。your_urlには、短くしたいURLを入れる。デフォルトでは、JSON形式で、情報が閲覧できるけど、&format=xmlを入れることで、XML形式でも見ることができる。つぎのようなXML形式になる。

<bitly>
<errorCode>0</errorCode>
<errorMessage/>
<results>
<nodeKeyVal>
<shortKeywordUrl/>
<hash>ahfxpI</hash>
<userHash>cAzMP7</userHash>
<nodeKey>
http://rockmanjuno.zatunen.com/KobunTwitter/index.html
</nodeKey>
<shortUrl>http://bit.ly/cAzMP7</shortUrl>
<shortCNAMEUrl>http://bit.ly/cAzMP7</shortCNAMEUrl>
</nodeKeyVal>
</results>
<statusCode>OK</statusCode>
</bitly>

ActionScriptをつかって、bit.ly APIをつかってみる。先程のようなURLをつくっておき、そのURLアクセスする。

var request_bitly:URLRequest = new URLRequest( api_url );
this.loader.load( request_bitly );

アクセスして、入手した情報をテキトーに読み取る。

         var xml:XML = new XML( this.loader.data );
         var short_url:String = "";
         if ( xml.statusCode == "OK" )
         {
          short_url = xml.results.nodeKeyVal.shortUrl;
         }

short_urlに短縮したURLが入るので、テキトーに使用。使わなかったけど(´・ω・`)

top