データとの対話 Rの使い方について


0.Rとは?(主要なプロシジャ一覧)

 Rとは行列計算、統計解析などに利用できるプログラム言語。


   下の方の
x <- rnorm(100)           # 100 random numbers from a normal(0,1) distribution
から
hist(result$residuals)    # histogram of the residuals from the regression
の部分を窓にペーストしてsubmitを押すと、とりあえず何かしてくれます。



 使える手法の例(括弧内は各分析を行うRのプロシジャ名(太字は講義で紹介するプロシジャ)。

 

  • データの印刷、グラフの作成など
  • 統計分析
  •  

    library(mva)として多変量解析のライブラリをロードしておくと下記が使える。

     注)簡単に計算してくれます が、その結果を解釈してはくれません。解釈するのは自分自身なのです。


    1.Rの使い方

    1)ためしにつかってみる

     

    2)ちょっと高等なことを

     次のように入力

    x<-rnorm(100)

    x

    hist(x)

     これは正規分布に従う乱数を100個発生させて x というデータセットに入れる。

     そのデータを画面に出力。

     そのヒストグラムを書いてみたもの。

     練習)個数を1000、1000にするとどうなるか?

     

    3)バッチファイルの実行

     実行したいコマンドをエディタで入力、テキストファイルに作成しておく。

     RでFileメニューの source file メニュー で、そのファイルを指定すると実行してくれる。

      参考プログラム

     をクリック。適当な場所に保存して実行してみる。

     

    4)エラーメッセージ

     x<-dorm(100)

     と入力、リターン。

     dormという関数はないのでエラーになって当然。

     エラーが起きるとメッセージが出る。


    3.Rプログラミング

     変数名は英数字。変数名の先頭の文字は英字(大文字、小文字は区別されない)。

     C言語のように変数を宣言しておく必要はない。

     型宣言も不要。

    #ではじまる行はコメント文。実行されない。 オプションの指定方法

    目次へ


    2.Rで分析をする

    1)演習用データ

     

     


    2)データの読み込み

     演習用データ

     上記についての説明

     読み込みなどの参考プログラム

    ossdata

     

    ossdata$id

     とすると、ossdataの中の変数$idが出力される。

    mean(ossdata$nofdl)

    とすると変数nofdlの平均を計算。


    4.R コマンド

  • データの印刷、グラフの作成など
  •  

  • 統計分析
  •  

    library(mva)として多変量解析のライブラリをロードしておくと下記が使える。

     

     

    2)処理対象サンプルの部分指定

     


    処理対象となる変数名[条件式]



    のように条件を指定。

    条件式は下記のように指定

     >

     <

     ==    等しい(==が二つ重なることに注意)

     !=      等しくない

    #idが10よりも大きいオブザベーションについて、変数nofdlの 値を書き出す

    ossdata$nofdl[ossdata$id>10]


    #idが10よりも大きいオブザベーションだけを取り出して別のデータセットに。

    pardat<-ossdata[ossdata$id>10,]
    pardat

    #1番目から10番目と、20から30番目のオブザベーションを取り出す

    ossdata[c(1:10,20:30),]



    #データセットに含まれる変数すべてについて、欠損値がないサンプルであるかを判定 (結果はT,F)
    #欠損値がないかを判定
    #complete.cases(データセット名)

    ossdata$d<-complete.cases(ossdata)
    ossdata$d

    #欠損値がないサンプルだけを取り出す
    ossdata[ossdata$d==T,]


    応用練習
    1)変数
    2)
    3)



    3)データセットの操作

    ・直接編集
    #edit(データセット名)

    edit(ossdata)

    ・並べ替え

    #並べ替え  sort()   指定したベクトルを並べ替える==>並べ替えられたベクトルが返ってくる。

    sort(ossdata$nofdl)

    #デフォルトでは小さい順に並べ替える。(文字列はASCIIコード順)
    ?sort
    #逆順に並べ替えたいときは decreasing = T オプションを指定
    sort(ossdata$nofdl,decreasing = T)



    #rank()     指定したベクトルを並べ替えたときに何番目にランクされるかを算出。>もともと のベクトルの要素ではなく、順位=数字を要素として持つベクトルが返ってくる。

    rank(ossdata$nofdl)

    #rankとsortの関係を確認
    data.frame(ossdata$nofdl,sort(ossdata$nofdl),rank(ossdata$nofdl))


    #rankを利用して、nofdlの小さい順にオブザベーションを並べ替える

    sdat<-ossdata[rank(ossdata$nofdl),]

    #エディタでみてみる
    edit(sdat)


    4)Tips

    #コマンドの使い方など、わからないことがあったら  ?コマンド名 

    ?plot
    ?ttest

    #もしくは
    #help.search("コマンド名")  ""を忘れないように


    help.search("plot")
    help.search("ttest")

    #実行例をみる  example(コマンド名)
    #すべてのコマンドについて実行例があるわけではない

    example(plot)
    example(hist)

    #データセットを指定するのが面倒な場合
    #apply(データセット名) 関数  :データセットをサーチパスに加える
    #こうすると、変数名だけを指定すればよくなる。

    id       #applyしていないのでデータセット名を指定しなければエラーになる
    apply(ossdata)
    id         #applyしたのでデータセット名を指定しなくてもok








    目次へ


     


    目次へ