- Rで扱う「変数名」の注意
- 変数名は英字で始まり,英数字とピリオドが使える.頭に数字を置かない.
X1は良い,1Xは使用しない.この2つの形式を,Rは異なった意味に理解する.
- 英字は大文字と小文字を区別する.
- 変数名には空白は使えない,名前のつなぎにはピリオド[.]を用いる. yamada.hanako
- 変数名やその値には日本語(漢字,ひらがな,カタカナ,全角記号)が使える.
ただし,Rが文字コードの関係で正しく理解できず,次のようなエラーが発生することがある.まずは変数名を修正して再挑戦する.
以下にエラー scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : '1' 行目には,4 個の要素がありません
- データの形式の種類
- 高校や大学の授業で学んだ行列・ベクトルの復習
・高校数学Cの復習.
・線形代数 よその大学で授業の復習もいいものです.
・R言語での行列とベクトル.
- スカラー
は,大きさを示す1個のデータ.
> x1 <- 7
> x1 # 数値データの表示
[1] 7
> x2 <- "ABCDE"
> x2 # 文字列データの表示
[1] "ABCDE"
> x3 <- "統計"
> x3 # 文字列データの表示
[1] "統計"
|
- ベクトル
は,2個以上のデータの集まりで,スカラーを縦列に並べたもの.この心像を作ること.関数 c( )を使う
表 ベクトルのデータ形式
|
|
ベクトル 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] "統計" "好き" "大変好き" "ちょっと好き"
|
- 行列は,縦列のベクトルを横に並べたもの.
つるし柿・列が優先され扱われることに注意する. 関数 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,] "ちょっと好き" "はっきりいうと嫌い"
|
- データフレーム
関数 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
|
- リスト
はよく理解すること. 統計処理の結果は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] "大変好き" "好き" "ちょっと好き" "どちらでもない"
|
- Rの関数,あるいはRで関数電卓
- 四則演算 カッコ()で演算の順番を優先する
> 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
|
- 関数 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
|
- 比較演算関数
> 4>3 # より大きい 正しい
[1] TRUE
> 4<3 # より小さい 誤り
[1] FALSE
> 3<4 # より小さい 正しい
[1] TRUE
> 4>=3 # より大きいか等しい 正しい
[1] TRUE
> 3==4 # 等しい 誤り
[1] FALSE
> 3!=4 # 等しくない 正しい
[1] TRUE
|
- 論理演算関数
|