Last updated: October 2009. Kajiyama                    [ 目次に戻る ]

「iris」の変数を抽出し,変数の順序を並べ替える


  1.  使用する「iris」のデータ構造の確認

    (1) 「irisデータ」のデータ構造

    .「コンソール」 画面に,

    str (iris) #  と記述すると,「irisのデータ構造」が表示され,5変数の名前と,型が表示される.

    ・Sepal.Length: num 数値型  ・Sepal.Width : num 数値型  ・Petal.Length: num 数値型  ・Petal.Width : num 数値型
    ・Species  : Factor カテゴリ型

      あやめの大きな3枚のはなびらは,「Sepal がく片」で,小さな3枚のはなびらが,「Petal 花びら」である.

    Sepal「がく片」の長さと幅・Petal「花びら」の長さと幅

    Species「あやめ3品種 [setosa・versicolor・virginica]」

    
    > str(iris)
    'data.frame':   150 obs. of  5 variables:
     $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
     $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
     $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
     $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
     $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
    


    (2) 「irisデータ」のデータリスト

    ・「コンソール」 画面に,

    iris #  と記述すると,Rに組み込みこまれているFisherの研究で使われた「iris」データ 150サンプルが表示される.

    
    > iris
        Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
    1            5.1         3.5          1.4         0.2     setosa
    2            4.9         3.0          1.4         0.2     setosa
    3            4.7         3.2          1.3         0.2     setosa
    4            4.6         3.1          1.5         0.2     setosa
    5            5.0         3.6          1.4         0.2     setosa
    6            5.4         3.9          1.7         0.4     setosa
    7            4.6         3.4          1.4         0.3     setosa
    8            5.0         3.4          1.5         0.2     setosa
    9            4.4         2.9          1.4         0.2     setosa
    10           4.9         3.1          1.5         0.1     setosa
    11           5.4         3.7          1.5         0.2     setosa
    12           4.8         3.4          1.6         0.2     setosa
    13           4.8         3.0          1.4         0.1     setosa
    14           4.3         3.0          1.1         0.1     setosa
    15           5.8         4.0          1.2         0.2     setosa
    16           5.7         4.4          1.5         0.4     setosa
    17           5.4         3.9          1.3         0.4     setosa
    18           5.1         3.5          1.4         0.3     setosa
        ・・・・・・・・・・・・・・・・・・・・・
    
    
        ・・・・・・・・・・・・・・・・・・・・・
        ・・・・・・・・・・・・・・・・・・・・・
    132          7.9         3.8          6.4         2.0  virginica
    133          6.4         2.8          5.6         2.2  virginica
    134          6.3         2.8          5.1         1.5  virginica
    135          6.1         2.6          5.6         1.4  virginica
    136          7.7         3.0          6.1         2.3  virginica
    137          6.3         3.4          5.6         2.4  virginica
    138          6.4         3.1          5.5         1.8  virginica
    139          6.0         3.0          4.8         1.8  virginica
    140          6.9         3.1          5.4         2.1  virginica
    141          6.7         3.1          5.6         2.4  virginica
    142          6.9         3.1          5.1         2.3  virginica
    143          5.8         2.7          5.1         1.9  virginica
    144          6.8         3.2          5.9         2.3  virginica
    145          6.7         3.3          5.7         2.5  virginica
    146          6.7         3.0          5.2         2.3  virginica
    147          6.3         2.5          5.0         1.9  virginica
    148          6.5         3.0          5.2         2.0  virginica
    149          6.2         3.4          5.4         2.3  virginica
    150          5.9         3.0          5.1         1.8  virginica
    

    サンプル番号1−50が品種setosa,サンプル番号51−100が品種versicolor,サンプル番号101−150が品種virginicaである.

    変数番号1がSepal.Length,変数番号2がSepal.Width,変数番号3がPetal.Length,変数番号4がPetal.Width,変数番号5がSpeciesである.


  2.  変数を抽出して新しくデータフレームを作成する

    「iris」データフレームには変数名と変数番号があり,これを利用してデータを抽出する.

    変数番号1がSepal.Length,変数番号2がSepal.Width,変数番号5がSpeciesである.

    これ等の変数番号で新たなデータフレーム iris.x1 を作成する.


    (1) 変数番号で抽出

    「コンソール」 画面に,

    iris.x1 <- iris [ c(1, 2, 5) ] #  と記述すると,irisの変数番号1,2,5が抽出され iris.x1名で新たに保存される.

    # 注意  iris [ c(1, 2, 5), ] #  と記述すると,irisのサンプル番号1,2,5が抽出されるだけ.

    iris.x1 #  と記述し,データフレーム iris.x1のリストを確認する.

    str(iris.x1) #  と記述し,iris.x1のデータ構造を確認する.

    
    > iris.x1 <- iris [ c(1, 2, 5) ] 
    > iris.x1 
        Sepal.Length Sepal.Width    Species
    1            5.1         3.5     setosa
    2            4.9         3.0     setosa
    3            4.7         3.2     setosa
    4            4.6         3.1     setosa
    5            5.0         3.6     setosa
    6            5.4         3.9     setosa
    7            4.6         3.4     setosa
    8            5.0         3.4     setosa
        ・・・・・・・・・・
        ・・・・・・・・・・
    144          6.8         3.2  virginica
    145          6.7         3.3  virginica
    146          6.7         3.0  virginica
    147          6.3         2.5  virginica
    148          6.5         3.0  virginica
    149          6.2         3.4  virginica
    150          5.9         3.0  virginica
    
    > str(iris.x1)
    'data.frame':   150 obs. of  3 variables:
     $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
     $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
     $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
    


  3.  データフレームの変数の順序を並べ替える

    「コンソール」 画面に,

    iris.x2 <- iris [ c(5, 4, 3, 2, 1) ] #  と変数番号を記述すると,irisの変数番号1〜5の順序を逆にしたiris.x2を作成する.

    iris.x2 #  と記述し,データフレーム iris.x1のリストを確認する.

    str( iris.x2 ) #  と記述し,iris.x2のデータ構造を確認する.

    
    > iris.x2 <- iris [ c(5, 4, 3, 2, 1) ]
    > ris.x2
           Species Petal.Width Petal.Length Sepal.Width Sepal.Length
    1       setosa         0.2          1.4         3.5          5.1
    2       setosa         0.2          1.4         3.0          4.9
    3       setosa         0.2          1.3         3.2          4.7
    4       setosa         0.2          1.5         3.1          4.6
    5       setosa         0.2          1.4         3.6          5.0
    6       setosa         0.4          1.7         3.9          5.4
    7       setosa         0.3          1.4         3.4          4.6
    8       setosa         0.2          1.5         3.4          5.0
        ・・・・・・・・・・・・・・・・・・・・・
        ・・・・・・・・・・・・・・・・・・・・・
    144  virginica         2.3          5.9         3.2          6.8
    145  virginica         2.5          5.7         3.3          6.7
    146  virginica         2.3          5.2         3.0          6.7
    147  virginica         1.9          5.0         2.5          6.3
    148  virginica         2.0          5.2         3.0          6.5
    149  virginica         2.3          5.4         3.4          6.2
    150  virginica         1.8          5.1         3.0          5.9
    
    > str( iris.x2 )
    'data.frame':   150 obs. of  5 variables:
     $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
     $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
     $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
     $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
     $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
    

[ 目次に戻る ]