Last updated: May 2011- 2009. Kajiyama                    [ 目次に戻る ]

Rで使用するデータと関数そして用語


  1. Rで扱う「変数名」の注意

    1. 変数名は英字で始まり,英数字とピリオドが使える.頭に数字を置かない.

      X1は良い,1Xは使用しない.この2つの形式を,Rは異なった意味に理解する.


    2. 英字は大文字と小文字を区別する.

    3. 変数名には空白は使えない,名前のつなぎにはピリオド[.]を用いる. yamada.hanako

    4. 変数名やその値には日本語(漢字,ひらがな,カタカナ,全角記号)が使える.

      ただし,Rが文字コードの関係で正しく理解できず,次のようなエラーが発生することがある.まずは変数名を修正して再挑戦する.

        以下にエラー scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :  '1' 行目には,4 個の要素がありません



  2. データの形式の種類

    1. 高校や大学の授業で学んだ行列・ベクトルの復習

      ・高校数学Cの復習.
      ・線形代数 よその大学で授業の復習もいいものです.
      ・R言語での行列とベクトル.



    2. スカラーは,大きさを示す1個のデータ.

      
      > x1 <- 7
      > x1    # 数値データの表示
      [1] 7
      
      > x2 <- "ABCDE"
      > x2    # 文字列データの表示
      [1] "ABCDE"
      
      > x3 <- "統計"
      > x3    # 文字列データの表示
      [1] "統計"
      


    3. ベクトルは,2個以上のデータの集まりで,スカラーを縦列に並べたもの.この心像を作ること.関数 c( )を使う

       表  ベクトルのデータ形式
      ベクトル
      x1
      1
      2
      3
      4
      5
      ベクトル
      x3
      10
      20
      30
      40
      50
      ベクトル
      x4
      0.1
      0.2
      0.3
      0.4
      0.5

      
      > x1 <- c( 1, 2, 3, 4, 5 )   # 数値データ
      > x1       # 結果の表示
      [1] 1 2 3 4 5
      
      > x2 <- c( 1:5 )      # 連続する数値データ
      > x2       # 結果の表示
      [1] 1 2 3 4 5
      
      > x3 <- c( 1:5 )*10   # ベクトルの数値データの全てに定数を掛ける
      > x3        # 結果の表示
      [1] 10 20 30 40 50
      
      > x4 <- c( 1:5 )/10   # ベクトルの数値データの全てを定数で割る
      > x4       # 結果の表示
      [1] 0.1 0.2 0.3 0.4 0.5
      
      > x5 <- c( 1:5 )+10   # ベクトルの数値データの全てに定数を足す
      > x5       # 結果の表示
      [1] 11 12 13 14 15
      
      > x6 <- c("統計", "好き", "大変好き", "ちょっと好き")   # 文字列データ
      > x6        # 結果の表示
      [1] "統計"         "好き"         "大変好き"     "ちょっと好き"
      



    4. 行列は,縦列のベクトルを横に並べたもの.つるし柿・列が優先され扱われることに注意する. 関数 matrix( )を使う.

       表  行列のデータ形式 (行は横一列をさす.行は縦一列をさす.)

      サンプル x1 列 1 列 2 列 3 列 4
      行 1   1    3    5    7 
      行 2   2    4    6    8 

      
      > x1 <- matrix( c(1, 2, 3, 4, 5, 6, 7, 8 ), nrow=2, ncol=4 )    # 数値データ1〜8の2行X4列表現
      > x1       # 結果の表示
           [,1] [,2] [,3] [,4]
      [1,]    1    3    5    7
      [2,]    2    4    6    8
      
      > x2 <- matrix( c(1:8 ), nrow=2, ncol=4 )    # 連続する数値データ1〜8の2X4表現
      > x2       # 結果の表示
           [,1] [,2] [,3] [,4]
      [1,]    1    3    5    7
      [2,]    2    4    6    8
      
      
      > x3 <- matrix( c("定食大変好き", "好き", "ちょっと好き", "どちらでもない",
       "ちょっと嫌い", "はっきりいうと嫌い"), nrow=2, ncol=3 )               # 文字列データ2X3
      > x3       # 結果の表示
           [,1]           [,2]             [,3]                
      [1,] "定食大変好き" "ちょっと好き"   "ちょっと嫌い"      
      [2,] "好き"         "どちらでもない" "はっきりいうと嫌い"
      
      
      > x4 <- matrix( c("定食大変好き", "好き", "ちょっと好き", "どちらでもない",
       "ちょっと嫌い", "はっきりいうと嫌い"), nrow=3, ncol=2 )               # 文字列データ3X2
      > x4        # 結果の表示
           [,1]           [,2]                
      [1,] "定食大変好き" "どちらでもない"    
      [2,] "好き"         "ちょっと嫌い"      
      [3,] "ちょっと好き" "はっきりいうと嫌い"
      



    5. データフレーム 関数 data.frame( )を使う. 列が優先され扱われることに注意する

       表  データフレームのデータ形式

      サンプル
      A
      サンプル
      B
      1 5
      2 6
      3 7
      4 8

       
      > A <- c( 1, 2, 3, 4 )
      > B <- c( 5, 6, 7, 8 )
      > x1 <- data.frame( A, B )    # データフレームの作成
      > x1       # 結果の表示
        A B
      1 1 5
      2 2 6
      3 3 7
      4 4 8
      
      > x2 <- data.frame( A= c( 1, 2, 3, 4 ), B= c( 5, 6, 7, 8 ) )    # データフレームの作成
      > x2        # 結果の表示
        A B
      1 1 5
      2 2 6
      3 3 7
      4 4 8
      
      > C <- c("定食大変好き", "好き", "ちょっと好き", "どちらでもない")   # 大文字小文字の区別に注意
      > x3 <- data.frame( C, A, B )    # データフレームの作成
      > x3        # 結果の表示
                     C A B
      1   定食大変好き 1 5
      2           好き 2 6
      3   ちょっと好き 3 7
      4 どちらでもない 4 8
      



    6. リストはよく理解すること. 統計処理の結果はRの内部にリスト表現形式で保存される.関数 list( )

      リストの内容を確認するには関数names( 保存されているファイル名を出力)と関数str( リストのデータ構造を出力 )を使用する


       
      > A <- c( 1, 2, 3, 4 )    # データフレームの作成
      > B <- c( 5, 6, 7, 8 )    # データフレームの作成
      > C <- c("大変好き", "好き", "ちょっと好き", "どちらでもない")  # データフレームの作成 大文字小文字の区別に注意
      
      
      > x1 <- list( A, B, C)    # リストの作成
      > x1    # リストの表示
      [[1]]
      [1] 1 2 3 4
      
      [[2]]
      [1] 5 6 7 8
      
      [[3]]
      [1] "大変好き"       "好き"           "ちょっと好き"   "どちらでもない"
      
      > x2 <- list( A= c( 1, 2, 3, 4 ), B= c( 5, 6, 7, 8 ), C= c("大変好き", "好き", "ちょっと好き", "どちらでもない"))
      > x2    # リストの表示
      $A
      [1] 1 2 3 4
      
      $B
      [1] 5 6 7 8
      
      $C
      [1] "大変好き"       "好き"           "ちょっと好き"   "どちらでもない"
      
      
      > names( x2 )       # 保存されているファイル名を出力
      [1] "A" "B" "C"     # 内部の正しいリスト名は x2$A, x2$B, x2$C
      
      > str( x2 )         # データ構造
      List of 3
       $ A: num [1:4] 1 2 3 4
       $ B: num [1:4] 5 6 7 8
       $ C: chr [1:4] "大変好き" "好き" "ちょっと好き" "どちらでもない"
      



  3. Rの関数,あるいはRで関数電卓

    1. 四則演算 カッコ()で演算の順番を優先する

       
      > 3+4       # 足し算(加算)
      [1] 7
      
      > 3-4       # 引き算(減算)
      [1] -1
      
      > 3*4       # 掛け算(乗算)
      [1] 12
      
      > 4/3       # 割り算(除算)
      [1] 1.333333
      
      > 4%/%3     # 割り算の商の部分(商)
      [1] 1
      > 4%%3      # 割り算の余りの部分(剰余)
      [1] 1
      
      > 2^3       # べき乗 23
      [1] 8
      > 8^(1/3)   # べき乗根 81/3
      [1] 2
      



    2. 関数 f(x)

       
      > abs(-8)           # 絶対値
      [1] 8
      
      > sqrt(81)          # 平方根 √81 = 811/2
      [1] 9
      
      > 27^(1/3)          # 立方根 3√27 = 271/3
      [1] 3
      
      > exp(8)           # 自然指数関数 e8 e=2.718282
      [1] 2980.958
      
      > log(2980.958)        # 底がeの自然対数関数 エクセルとは異なる
      [1] 8
      
      > log(exp(8))         # 対数と指数関数の関係
      [1] 8
      
      > log10(10000)        # 底が10の常用対数関数
      [1] 4
      > log(10000, base=10)  # 底が10の常用対数関数
      [1] 4
      
      > log2(8)           # 底が2の対数関数
      [1] 3
      > log(8, base=2)       # 底が2の対数関数
      [1] 3
      



    3. 比較演算関数

       
      > 4>3          # より大きい  正しい
      [1] TRUE
      
      > 4<3          # より小さい  誤り
      [1] FALSE
      
      > 3<4          # より小さい  正しい
      [1] TRUE
      
      > 4>=3          # より大きいか等しい  正しい
      [1] TRUE
      
      > 3==4          # 等しい  誤り   
      [1] FALSE
      
      > 3!=4          # 等しくない  正しい
      [1] TRUE
      



    4. 論理演算関数

[ 目次に戻る ]