diff options
Diffstat (limited to 'ja-jp/r-jp.html.markdown')
| -rw-r--r-- | ja-jp/r-jp.html.markdown | 106 | 
1 files changed, 53 insertions, 53 deletions
| diff --git a/ja-jp/r-jp.html.markdown b/ja-jp/r-jp.html.markdown index 0ef6bddf..3e6621f5 100644 --- a/ja-jp/r-jp.html.markdown +++ b/ja-jp/r-jp.html.markdown @@ -11,18 +11,18 @@ lang: ja-jp  R は統計計算用の言語です。 -データの取得やクリーニング、統計処理やグラフ作成をするために使える、たくさんのライブラリがあります。また、LaTeX文書からRコマンドを呼び出すこともできます。 +データの取得やクリーニング、統計処理やグラフ作成をするために便利な、たくさんのライブラリがあります。また、LaTeX文書からRコマンドを呼び出すこともできます  ```python  # コメント行は、#で開始します -# コメントを複数の行に分けたい場合は、 -# このように、コメント行を複数連続させるとできます +# 複数行をまとめてコメントにすることはできないので、 +# コメントを複数の行に分けたい場合、このように、単に毎行をコメントにしてください -# WindowsやMacでは、 COMMAND-ENTERで1行のコマンド実行ができます +# WindowsやMacでは、 COMMAND-ENTERで、コマンドを1行実行できます @@ -79,7 +79,7 @@ stem(rivers)  #  36 | 1 -stem(log(rivers)) # このデータは、正規分布でも対数正規分布でもないので注意! +stem(log(rivers)) # このデータは、正規分布でも対数正規分布でもないので、注意!  # 特に正規分布原理主義のみなさん @@ -175,8 +175,8 @@ rnorm(9)  # ここからは、プログラミングをつかうチュートリアルです -# この節ではRで重要なデータ型の、整数型、数字型、文字型、論理型と因子型をつかいます -# 他にもいろいろありますが、まずは最小限必要な、これらから始めましょう +# この節ではRで重要なデータ型(データクラス)の、整数型、数字型、文字型、論理型と因子(ファクター)型をつかいます +# 他にもいろいろありますが、これらの必要最小限なものから始めましょう  # 整数型 @@ -184,7 +184,7 @@ rnorm(9)  5L # 5  class(5L) # "integer"  # (?class を実行すると、class()関数について、さらなる情報が得られます) -# Rでは、この5Lのような単一の値は、長さ1のベクトルとして扱われます +# Rでは、この5Lのような1つの値は、長さ1のベクトルとして扱われます  length(5L) # 1  # 整数型のベクトルはこのようにつくります  c(4L, 5L, 8L, 3L) # 4 5 8 3 @@ -221,7 +221,7 @@ class(-Inf)        # "numeric"  # 不正な計算は "not-a-number"になります  0 / 0 # NaN  class(NaN) # "numeric" -# 長さが1より大きなベクター同士で計算ができます +# 長さが1より大きなベクター同士の計算もできます  # どちらかが長い場合、短い方は何度も繰り返して使われます  c(1,2,3) + c(1,2,3) # 2 4 6 @@ -263,18 +263,18 @@ c('Z', 'o', 'r', 'r', 'o') == "Zorro" # FALSE FALSE FALSE FALSE FALSE  c('Z', 'o', 'r', 'r', 'o') == "Z" # TRUE FALSE FALSE FALSE FALSE -# ファクター -# ファクタークラスは、カテゴリカルデータ用のクラスです -# ファクターは、子供の学年のように順序がつけられるものか、性別のように順序がないものがあります +# 因子(ファクター) +# 因子型は、カテゴリカルデータ用の型です +# 因子には、子供の学年のように順序がつけられるものか、性別のように順序がないものがあります  factor(c("female", "female", "male", "NA", "female"))  #  female female male   NA     female  # Levels: female male NA  # "levels" は、カテゴリカルデータがとりうる値を返します  levels(factor(c("male", "male", "female", "NA", "female"))) # "female" "male"   "NA"  -# ファクターベクターの長さが1ならば、そのlevelも1です +# 因子ベクターの長さが1ならば、そのlevelも1です  length(factor("male")) # 1  length(levels(factor("male"))) # 1 -# ファクターは、この後で紹介するデータフレーム(というデータ型)内で、よくみられます +# 因子型は、この後で紹介するデータフレーム(というデータ型)内で、よくみられます  data(infert) # "Infertility after Spontaneous and Induced Abortion"  levels(infert$education) # "0-5yrs"  "6-11yrs" "12+ yrs" @@ -379,7 +379,7 @@ jiggle(5)        # 5±ε.  set.seed(2716057)をすると、jiggle(5)==5.005043  # 1次元 -# まずは基本からです。すでにご存じのベクターからです +# まずは基本からです。ご存じベクターからです  vec <- c(8, 9, 10, 11)  vec        #  8  9 10 11  # 特定の要素を、[角括弧]による指定で取り出せます @@ -400,7 +400,7 @@ any(vec == 10) # TRUE  vec[6]        # NA  # ベクターの長さは、length()で取得できます  length(vec)        # 4 -# ベクター全体、または一部に対して、操作ができます +# ベクター全体、または1部に対して、操作ができます  vec * 4        # 16 20 24 28  vec[2:3] * 5        # 25 30  any(vec[2:3] == 8) # FALSE @@ -411,7 +411,7 @@ sd(vec)                # 1.290994  max(vec)        # 11  min(vec)        # 8  sum(vec)        # 38 -# 他にも、ベクター関連ではいろいろな関数があります +# 他にも、ベクター関連ではいろいろな関数があります。以下はベクターをつくるための方法です  5:15        # 5  6  7  8  9 10 11 12 13 14 15  seq(from=0, to=31337, by=1337)  # => @@ -422,7 +422,7 @@ seq(from=0, to=31337, by=1337)  # 2次元配列 (すべての値が同じ型の場合) -# 同じ型の値が含まれる配列は、このように作れます +# 同じ型の値が含まれる2次元配列は、このように作れます  mat <- matrix(nrow = 3, ncol = 2, c(1,2,3,4,5,6))  mat  # => @@ -430,7 +430,7 @@ mat  # [1,]    1    4  # [2,]    2    5  # [3,]    3    6 -# ベクターとは違い、配列のクラス名は"matrix"です。 +# ベクターとは違い、2次元配列の型名は"matrix"です。  class(mat) # => "matrix"  # 最初の行  mat[1,]        # 1 4 @@ -440,7 +440,7 @@ mat[1,]        # 1 4  mat[3,2]        # 6 -# 配列全体を転置します +# 2次元配列全体を転置します  t(mat)  # =>  #      [,1] [,2] [,3] @@ -448,7 +448,7 @@ t(mat)  # [2,]    4    5    6 -# 配列の積 +# 2次元配列の積  mat %*% t(mat)  # =>  #      [,1] [,2] [,3] @@ -457,7 +457,7 @@ mat %*% t(mat)  # [3,]   27   36   45 -# cbind() は、複数のベクターを、別々の列に並べて配列を作ります +# cbind() は、複数のベクターを、別々の列に並べて2次元配列を作ります  mat2 <- cbind(1:4, c("dog", "cat", "bird", "dog"))  mat2  # => @@ -467,19 +467,19 @@ mat2  # [3,] "3"  "bird"   # [4,] "4"  "dog"  class(mat2)        # matrix -# ここでいま一度、型について注意してください! -# 配列にある値は、すべて同じ型にする必要があります。そのため、すべて文字型に変換されています +# ここでいま1度、2次元配列内の型について注意してください! +# 2次元配列にある値は、すべて同じ型にする必要があります。そのため、すべて文字型に変換されています  c(class(mat2[,1]), class(mat2[,2])) -# rbind() は、複数のベクターを、別々の行に並べて配列を作ります +# rbind() は、複数のベクターを、別々の行に並べて2次元配列を作ります  mat3 <- rbind(c(1,2,4,5), c(6,7,0,4))  mat3  # =>  #      [,1] [,2] [,3] [,4]  # [1,]    1    2    4    5  # [2,]    6    7    0    4 -# 全ての値は同じ型になります。この例の場合は、強制変換がされないのでよかったです +# 全ての値は同じ型になります。上記例は幸い、強制変換がされないものでした  # 2次元配列 (いろいろな型を含む場合) @@ -506,16 +506,16 @@ students  # 6  Ginny   -1     G  class(students$year)        # "numeric"  class(students[,3])        # "factor" -# 次元の数をみます +# 行と列の数をみます  nrow(students)        # 6  ncol(students)        # 3  dim(students)        # 6 3 -# このdata.frame() 関数は、デフォルトでは文字列ベクターをファクターのベクターに変換します +# このdata.frame() 関数は、デフォルトでは文字列ベクターを因子ベクターに変換します  # stringsAsFactors = FALSE に設定してからデータフレームを作成すると、変換されません  ?data.frame -# データフレームの一部を取り出すには、いろいろな(変な)、似たような方法があります +# データフレームの1部を取り出すには、いろいろな(変な)、似たような方法があります  students$year        # 3  2  2  1  0 -1  students[,2]        # 3  2  2  1  0 -1  students[,"year"]        # 3  2  2  1  0 -1 @@ -594,7 +594,7 @@ students  # 6:       Draco    0     S -# 行を消す場合は、データテーブルから、一部を除くことによってできます +# データテーブルから行を消す場合は、以下のように除く行を指定すればできます  students[studentName != "Draco"]  # =>  #    house studentName year @@ -603,7 +603,7 @@ students[studentName != "Draco"]  # 3:     G       Ginny   -1  # 4:     H      Cedric    3  # 5:     R         Cho    1 -# データフレームの場合も同様 +# データフレームの場合も同様です  students <- as.data.frame(students)  students[students$house != "G",]  # => @@ -616,15 +616,15 @@ students[students$house != "G",]  # 多次元 (すべての値が同じ型の場合) -# 配列でN次元の表を作ります -# すべての値は同じ型にする必要があります -# この方法で、配列のような2次元表も作成可能です +# 配列を並べて、N次元の表を作ります +# 配列なので、すべての値は同じ型にする必要があります +# ちなみに、以下のようにすれば2次元配列・2次元表も作成可能です  array(c(c(1,2,4,5),c(8,9,3,6)), dim=c(2,4))  # =>  #      [,1] [,2] [,3] [,4]  # [1,]    1    4    8    3  # [2,]    2    5    9    6 -# 配列から3次元行列を作ることもできます +# 2次元配列を並べて、3次元配列を作ることもできます  array(c(c(c(2,300,4),c(8,9,0)),c(c(5,60,0),c(66,7,847))), dim=c(3,2,2))  # =>  # , , 1 @@ -642,7 +642,7 @@ array(c(c(c(2,300,4),c(8,9,0)),c(c(5,60,0),c(66,7,847))), dim=c(3,2,2))  # [3,]    0  847 -# リスト(多次元、不完全なのか複数の型が使われているもの) +# リスト(多次元、不完全または複数の型が使われているもの)  # ついにRのリストです @@ -656,13 +656,13 @@ list1[[1]] # また別の方法  # =>  #  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33  # [34] 34 35 36 37 38 39 40 -# 他のベクターと同じく、一部を取り出すことができます +# 他のベクターと同じく、1部を取り出すことができます  list1$price[4] -# リストは、Rで一番効率的なデータ型ではありません -# なにか特別な理由がない限りは、データフレームを使い続けるべきです -# リストは、線形回帰関数の返値として、しばしば使われます +# リストは、Rで1番効率的なデータ型ではありません +# 特別な理由がない限りは、リストの代わりにデータフレームを使うべきです +# リストは、線形回帰関数の返値として、しばしば使われています  ################################################## @@ -677,18 +677,18 @@ mat  # [1,]    1    4  # [2,]    2    5  # [3,]    3    6 -# apply(X, MARGIN, FUN) は、行列Xの行(MARGIN=1)または列(MARGIN=2)に対して、関数FUNを実行します -# RでこのようにXの全行か全列に関数を実行すると、forやwhileループを使うより、遥かに速くできます +# apply(X, MARGIN, FUN) は、行列Xの行(MARGIN=1で指定)または列(MARGIN=2で指定)に対して、関数FUNを実行します +# Rで、このように指定してXの全行または全列に関数を実行するのは、forやwhileループを使うよりも、遥かに速いです  apply(mat, MAR = 2, jiggle)  # =>  #      [,1] [,2]  # [1,]    3   15  # [2,]    7   19  # [3,]   11   23 -# 他にも関数があります。?lapply, ?sapply で確認してみてください +# 他にも便利な関数があります。?lapply, ?sapply で確認してみてください -# このやり方がちょっとややこしいという事は、みんな同意です。なので、あまり怖がりすぎないでください +# apply()系関数の使い方は、ちょっとややこしいです(みんなそう思ってます)。なので、あまり怖がりすぎないでください  # plyr パッケージは、*apply() 系の関数を置き換えて(さらに改善して)いこうとしています @@ -731,25 +731,25 @@ write.csv(pets, "pets2.csv") # 新しくcsvファイルを作ります  ######################### -# 組み込みのプロット関数です -# 散布図です! +# Rに組込まれているプロット関数をつかいます +# 散布図!  plot(list1$time, list1$price, main = "fake data") -# 回帰図です! +# 回帰図!  linearModel <- lm(price  ~ time, data = list1)  linearModel # outputs result of regression  # 回帰直線を既存の図上に引きます  abline(linearModel, col = "red") -# いろいろな診断方法を見ましょう +# いろいろな散布図をつくって、確認できます  plot(linearModel) -# ヒストグラムです! +# ヒストグラム!  hist(rpois(n = 10000, lambda = 5), col = "thistle") -# 棒グラフです! +# 棒グラフ!  barplot(c(1,4,5,1,2), names.arg = c("red","blue","purple","green","yellow"))  # GGPLOT2 -# 上記よりも、もっときれいな図を描くこともできます -# より多くよい図を描くために、ggplot2 パッケージを使ってみましょう +# 上記の組込み関数を使うよりも、もっときれいな図を描くこともできます +# ggplot2 パッケージを使って、より多くのよい図を描いてみましょう  install.packages("ggplot2")  require(ggplot2)  ?ggplot2 @@ -772,4 +772,4 @@ pp + geom_point()  * RとR GUIはこちら [http://www.r-project.org/](http://www.r-project.org/) -* [RStudio](http://www.rstudio.com/ide/) はまた別のGUIです
\ No newline at end of file +* [RStudio](http://www.rstudio.com/ide/) 別のGUI
\ No newline at end of file | 
